আপনি যদি সোর্স নিয়ন্ত্রণের জন্য গিট ব্যবহার করেন তবে এর কাছে যাওয়ার আরও একটি উপায় আছে। এখানে একটি উত্তরের দ্বারা অনুপ্রাণিত হয়ে , আমি গিটাট্রিবিউটস ফাইলটিতে ব্যবহারের জন্য আমার নিজের ফিল্টারটি লিখেছি ।
এই ফিল্টারটি ইনস্টল করতে, এটি noeol_filter
আপনার কোথাও হিসাবে সংরক্ষণ করুন $PATH
, এটি কার্যকর করতে সক্ষম করুন এবং নিম্নলিখিত কমান্ডগুলি চালনা করুন:
git config --global filter.noeol.clean noeol_filter
git config --global filter.noeol.smudge cat
কেবল নিজের জন্যই ফিল্টারটি ব্যবহার শুরু করতে, নিম্নলিখিত লাইনটি আপনারটিতে রাখুন $GIT_DIR/info/attributes
:
*.php filter=noeol
এটি নিশ্চিত করবে যে আপনি কোনও .php
ফাইলে কোনও নতুন লাইন প্রতিশ্রুতিবদ্ধ করবেন না , ভিম যা করুক না কেন।
এবং এখন, লিপি নিজেই:
#!/usr/bin/python
# a filter that strips newline from last line of its stdin
# if the last line is empty, leave it as-is, to make the operation idempotent
# inspired by: /programming/1654021/how-can-i-delete-a-newline-if-it-is-the-last-character-in-a-file/1663283#1663283
import sys
if __name__ == '__main__':
try:
pline = sys.stdin.next()
except StopIteration:
# no input, nothing to do
sys.exit(0)
# spit out all but the last line
for line in sys.stdin:
sys.stdout.write(pline)
pline = line
# strip newline from last line before spitting it out
if len(pline) > 2 and pline.endswith("\r\n"):
sys.stdout.write(pline[:-2])
elif len(pline) > 1 and pline.endswith("\n"):
sys.stdout.write(pline[:-1])
else:
sys.stdout.write(pline)