سؤال

وأنا في غاية جديدة إلى التخريب، ولكن لقد استعملت أنظمة التحكم مراجعة أخرى مثل ClearCase لسنوات.

وطلب مني مدرب لإصلاح هذا المشروع بحيث يمكن أن يبنى مع مخضرم بدلا من النملة. كان واحدا من الأمور الهامة واضطررت الى القيام به لللانتقال إلى src/com src/main/java/com، والانتقال إلى test/com src/test/java/com، التي لم باستخدام الأمر svn mv. توليت بحماقة أنه منذ كنت التخريب أوامر لتحريك الدلائل، أن التخريب وعندئذ نعرف أن الأمور قد تم نقل. وعندما اندمجت فرع بلدي في الجذع، فإنه يبدو أن العمل. ولكن الآن شخص آخر انتهى لتوه من العمل على فرع أنه تشعب قبل عملي. حتى نذهب إلى دمج أشياءه الى الجذع، وأساسا يبدو التخريب للتفكير <م> "حسنا، انه إجراء تغييرات على src/com/foo/bar/baz.java، ولكن هذا الدليل غير موجود أي أكثر من ذلك، لذلك فمن غير ذي صلة، لذلك تخلص منه" بدلا من ما كنت أتوقع، الذي كان <م> "حسنا، انه إجراء تغييرات على src/com/foo/bar/baz.java، ولكن تم نقل src/com، لذلك أنا بحاجة إلى دمج ذلك في src/main/java/com/foo/bar/baz.java" .

هل هناك طريقة لجعل التخريب قيام إدارة المراجعة، أو أنا ذاهب ليكون يدويا دمج التغييرات هذا الرجل لاليومين المقبلين؟

هل كانت مفيدة؟

المحلول

لإجابة على سؤالك مباشرة:

<اقتباس فقرة>   

هل هناك طريقة لجعل التخريب قيام إدارة المراجعة، أو أنا ذاهب ليكون يدويا دمج التغييرات هذا الرجل لاليومين المقبلين؟

ويجب أن تكون قادرة على جعله أسهل قليلا على نفسك.

والشيء الوحيد الذي يمكنك القيام به لتخفيف بعض من الألم (على افتراض تخطيط على النحو التالي)

/branch/foo/src/com
/branch/foo/test/com
/trunk/src/main/java/com
/trunk/src/test/java/com

وقبل أن انتقل SRC / كوم لSRC / الرئيسية / جافا / كوم واختبار / كوم لSRC / اختبار / جافا / كوم كنت قد فعلت:

cd $TRUNK
svn merge -r N:M http://server/branch/foo .

وماذا يمكن أن تفعله الآن هو:

cd $TRUNK
svn merge -r N:M http://server/branch/foo/src/com src/main/java/com
svn merge -r N:M http://server/branch/foo/test/com src/test/java/com

وهذا الأمل يساعد على انقاذ لكم بعض الوقت.

نصائح أخرى

وهذا يبدو وكأنه مشكلة لمرة واحدة. أقترح عليك أن تستخدم svn diff > /to/some/file.patch (أو فرق العادي) لحفظ التغييرات له إلى ملف، ثم تطبيقه على جذع المنقولة مع patch -p0 < /to/some/file.path.

وأي شخص حاول هذا البرنامج؟ xMerge

وهذا هو البرنامج المساعد لSmartSVN لكن يبدو أنها تفعل خدعة. إذا كان أي شخص يستخدم ذلك سأكون ممتنا لو مراجعة إرسال لي من ذلك.

ولقد كان نفس المشكلة وأنا حلها مع بوابة . لم أكن أريد لدمج وحدات سيرفيرال مع svn merge -r N:M http://server/branch/foo/test/com src/test/java/com لsrc/main، src/test وresources.

وهكذا اعتدت git svn clone file:///some/repo -T trunk -b branches -t tags. مثل هذا وكنت قادرا على إبقاء <م> سيد GIT متزامنا مع إس جذع ودمجه مع بلدي <م> بوابة فرع . عندما كنت فعلت، وأنا اندمجت <م> بوابة فرع إلى <م> سيد GIT ومن هناك إلى <م> إس جذع .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top