كيف أنقل ملف (أو مجلد) من مجلد إلى آخر في TortoiseSVN؟
-
09-06-2019 - |
سؤال
أرغب في نقل ملف أو مجلد من مكان إلى آخر داخل نفس المستودع دون الحاجة إلى استخدام متصفح Repo للقيام بذلك، ودون إنشاء عمليتين مستقلتين للإضافة/الحذف.يعمل استخدام متصفح Repo بشكل جيد باستثناء أن الكود الخاص بك سيظل معلقًا في حالة معطلة حتى يتم التحقق من أي تغييرات داعمة بعد ذلك (مثل ملف .csproj على سبيل المثال).
تحديث:اقترح الناس "التحرك" من سطر الأوامر.هل هناك ما يعادل TortoiseSVN؟
المحلول
لنقل ملف أو مجموعة من الملفات باستخدام Tortoise SVN
, ، انقر بزر الماوس الأيمن واسحب الملفات المستهدفة إلى وجهتها ثم حرر زر الماوس الأيمن.ستحتوي القائمة المنبثقة على SVN move versioned files here
خيار.
لاحظ أنه يجب أن يكون المجلد الوجهة قد تمت إضافته بالفعل إلى مستودع الملف SVN move versioned files here
خيار الظهور.
نصائح أخرى
svn move
— نقل ملف أو دليل.
في Windows Explorer، باستخدام زر الماوس الأيمن، انقر واسحب الملف من مكانه إلى المكان الذي تريده.عند تحرير زر الفأرة الأيمن، سترى قائمة سياقية تحتوي على خيارات مثل "نقل ملف إصدار SVN هنا".
ضمن TortoiseSVN، راجع الصفحة التالية: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-copy.html
إذا كنت تريد نقل الملفات حولها و حافظ على تحديث ملفات csproj، وأسهل طريقة هي استخدام مكون إضافي لـ Visual Studio مثل عنخSVN.سيؤدي ذلك تلقائيًا إلى تنفيذ كل من إجراء النقل (كحذف + إضافة مع السجل، لأن هذه هي الطريقة التي يعمل بها التخريب) وتغيير في ملف .csproj
من سطر الأوامر، يمكنك الكتابة svn mv path1 path2
.سيؤدي هذا إلى إنشاء عملية إضافة وحذف، ولكن لا توجد طريقة للتغلب على ذلك - على حد علمي - في Subversion.
لا يوجد لدى Subversion بعد عمليات إعادة تسمية من الدرجة الأولى.
هناك خطأ عمره 6 سنوات في المشكلة: http://subversion.tigris.org/issues/show_bug.cgi?id=898
يتم النظر في الإصدار 1.6، والآن تمت إضافة تتبع الدمج (أولوية أعلى) (في الإصدار 1.5).
استخدم أمر إعادة تسمية السلحفاة، واكتب المسار النسبي ("folder/file.ext").
كما ذكرنا سابقًا، ستقوم بإنشاء أوامر الإضافة والحذف.يمكنك استخدام svn move على نسخة العمل الخاصة بك أو عنوان URL الخاص بالمستودع.إذا كنت تستخدم نسخة العمل الخاصة بك، فلن يتم الالتزام بالتغييرات - ستحتاج إلى الالتزام بعملية منفصلة.
إذا قمت بنقل عنوان URL، فسوف تحتاج إلى توفير --message، وسوف تنعكس التغييرات في المستودع على الفور.
استخدم ال svn move
أمر لنقل الملف/المجلد.