.Svn ফোল্ডার এবং তাদের উপ-বিষয়বস্তু ব্যতীত Rsync?


10

সাবস্ট্রেশন রেপো এবং একটি নতুন ব্যবহারকারীর সাথে ডিল করা যা এটি কীভাবে কাজ করে তা পুরোপুরি বুঝতে পারে না।

দীর্ঘ গল্প সংক্ষিপ্ত, যেহেতু এলোমেলো .svn ফোল্ডারগুলি অনুলিপি করার কারণে তাদের স্থানীয় কাঠামো গোলমাল হয়েছিল I

  • স্থানীয় কাঠামোটিকে স্টেজিং নামে একটি ফোল্ডারে অনুলিপি করেছেন
  • মঞ্চ ডিরেক্টরি থেকে পুনরাবৃত্তভাবে সমস্ত .svn ফোল্ডার মুছে ফেলা হয়েছে
  • একটি "পরিষ্কার ফোল্ডার" এ রেপো পরীক্ষা করে দেখুন

এখন আমরা শেষ ধাপে - পরিষ্কার সামগ্রীগুলি ওভাররাইট করতে স্টেজিং ফোল্ডার সামগ্রীগুলি পেয়ে যাচ্ছি।

আমার কাছে একটি কমান্ড থাকা দরকার যে স্টেজিং ডিরেক্টরিটির বিষয়বস্তুগুলি পরিষ্কার ডিরেক্টরিতে অনুলিপি করুন, কেবল পরিষ্কার ডিরেক্টরিতে থাকা সমস্ত কিছু মুছে ফেলুন, তবে ক্লিন ফোল্ডারের .svn ফোল্ডারগুলি কৌশলে রেখে।

এটি rsync এর জন্য একটি কাজের মতো শোনাচ্ছে। নিম্নলিখিত আদেশটি সঠিক হবে?

rsync -avr --exclude=.svn* [staging] [clean]

6
আপনি সর্বদা এটির বিকল্পটি rsyncদিয়ে চালাতে পারেন --dry-run!
টিম

হাহাহাহা, ধন্যবাদ! বিকল্পের অস্তিত্ব সম্পর্কে কোনও ধারণা ছিল না। লোকটিকে আরও মনোযোগ দিয়ে পড়া উচিত ছিল!
শানকিলেন

উত্তর:


31

-CRsync জন্য বিকল্প কি আপনি চান হতে পারে।

ম্যান পৃষ্ঠাতে সংক্ষিপ্ত বিবরণ আপনাকে যদিও বোকা বানাবে না। দেখে মনে হবে যে বিকল্পটি কেবল সিভিএসের ক্ষেত্রে প্রযোজ্য, তবে আপনার আরএসসিএন সংস্করণের উপর নির্ভর করে এটি প্রায় প্রতিটি সাধারণ সংস্করণ নিয়ন্ত্রণ সিস্টেমের ফাইলগুলি এড়িয়ে যাবে।

# rsync version: 3.0.7

-C, --cvs-exclude           auto-ignore files in the same way CVS does

...

          The exclude list is initialized to exclude the  following  items
          (these  initial  items are marked as perishable — see the FILTER
          RULES section):

                 RCS  SCCS  CVS  CVS.adm   RCSLOG   cvslog.*   tags   TAGS
                 .make.state  .nse_depinfo *~ #* .#* ,* _$* *$ *.old *.bak
                 *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so  *.exe
                 *.Z *.elc *.ln core .svn/ .git/ .bzr/

          then,  files  listed in a $HOME/.cvsignore are added to the list
          and any files listed in the CVSIGNORE environment variable  (all
          cvsignore names are delimited by whitespace).

2
খুব সাবধান থাকুন, কারণ এই এক্সটেনশনগুলি আপনার অনুলিপি করা ফাইলগুলির জন্য ব্যবহার করা যেতে পারে, যেমন। *.aআইওএস স্ট্যাটিক লাইব্রেরি জন্য।
সর্বোচ্চ চুকিমিয়া

এনবি ফাইল এবং ডিরেক্টরিগুলি বাদ দেওয়া হয়েছে: "কোর" নামক কোনও ফোল্ডার যেমন অনুলিপি করা হয় না যেমন / মাইপ্রোজ / এপি / মাইপ্রোজ / কোর / <- ব্যাক আপ নেই!
টেকনোপল

7

প্রায় - এটি হওয়া উচিত

rsync -av --exclude='.svn*' [staging] [clean]

বা উদ্ধৃতি দেওয়ার অন্য কোনও রূপ যা শেলটি ওয়াইল্ডকার্ড প্রসারিত হতে বাধা দেয়। (ওয়াইল্ডকার্ড কেবল একটি অসম্ভব ফাইলের সাথে মিলবে যার নাম দিয়ে শুরু হয় --exclude=.svnতবে ঝুঁকি না নেওয়াই ভাল, এবং শেলটি মিলে না যাওয়া ওয়াইল্ডকার্ডগুলিতে শ্বাসরোধ করতে বা খালি তালিকায় প্রসারিত করার জন্যও সঠিকভাবে কাজ করা ভাল। )

-rইতিমধ্যে অন্তর্ভুক্ত করা হয়েছে -a। অতিরিক্তটি কেবল অতিরিক্ত rঅতিরিক্ত, এটি কোনও ক্ষতি করে না।

--excludeএর যুক্তি মেলে এমন ফাইলগুলি অনুলিপি করে না এবং পুনরাবৃত্তির ট্র্যাভারসাল হিসাবে বিবেচনা করে। ডিরেক্টরিটির কিছু অংশ ব্যতীত আরএসইএনসি-র সাথে স্বাভাবিক অসুবিধা অন্যভাবে চলছে। Rsync ফিল্টার দেখুন : কেবলমাত্র কিছু টিপসের জন্য একটি প্যাটার্ন অনুলিপি করা

এই বিশেষ ক্ষেত্রে, সংস্করণ নিয়ন্ত্রণ ডিরেক্টরিগুলি বাদ দিয়ে আপনি যা চান তা পাওয়ার দ্রুত উপায়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.