كيف يمكنني قوة التخريب على ارتكاب دون تغيير الملف ؟

StackOverflow https://stackoverflow.com/questions/206183

  •  03-07-2019
  •  | 
  •  

سؤال

أريد التخريب ارتكاب ملف حتى لو كان دون تغيير.هل هناك طريقة لعمل هذا ؟

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

المحلول

إذا كنت تريد محتويات الملف ان يبقي دون تغيير (وهذا يعني أنك لا يمكن أن مجرد تغيير بيضاء كما اقترح johnstok) يمكنك تغيير دائما واحدة من الخصائص على الملف.

وعلى سبيل المثال.

svn propset dummyproperty 1 yourfile
svn commit yourfile

وهذا سوف تؤدي ارتكاب دون الحاجة إلى تغيير الملف.

وفقط للتأكد من أنك لا تستخدم واحدة من خصائص svn: الخاصة. يجب أن تكون أي شيء آخر على ما يرام.


وتحرير: وقد طلبت عدد من غيرها من الملصقات لماذا شخص ما يريد ان يفعل هذا - يفترض أن الناس الذين اتسمت هذه الإجابة أسفل وكان أيضا نفس المخاوف

لا أستطيع أن أتكلم عن الملصق الأصلي، ولكن سيناريو واحد حيث كنت قد رأيت هذا المستخدم هو عند محاولة مزامنة الأنشطة تلقائيا على SOURCESAFE مستودع البصرية مع مستودع التخريب.

نصائح أخرى

وأما الإجابة لماذا واحدة تود أن تفعل يرتكب القسري. رأيت الحالات التي يستخدم شخص ما ارتكاب الرسالة التي كانت خاطئة أو غير واضحة. أنه من الجيد إذا كان يمكنك إجراء اضطر ارتكابها، حيث يمكنك تصحيح هذا الخطأ. بهذه الطريقة المحدثة ارتكاب رسالة يذهب الى مستودع، لذلك لن تضيع.

وأنا frigged ذلك عن طريق حذف ثم إعادة إضافة ملف المخالف. لا اجمل طريقة للقيام بذلك، وربما كسرت تاريخ المراجعة، ولكنها تناسب أغراض بلدي.

كان ملف واحد من اثنين التنفيذية بنيت من نفس المصدر (مع #defines مختلفة مجموعة):

والسبب لأنه يريد أن يفعل ذلك. قد تغيير طفيف على مصدر واحد يعني تغير، لم واحد لا. أردت أن يسجل في تاريخ مراجعة أنني قد قامت بتحديث فعلا إلى أحدث إصدار (حتى ولو كان هناك أي تغيير).

وربما نقطة مورتن Holdflod مولر ان "ملف ستظل جزءا من مراجعة جديدة" من شأنها أن تغطي هذا المؤشر، ولكن أعتقد لم سجل الملف دون تغيير لا تظهر تعليقات لهذه المراجعة.

واذا كان ملف نصي فقط إضافة بعض بيضاء، مثل سطر تغذية.

وردا على بعض الناس استجواب وهذا ينبغي أن يكون من الممكن: لسبب إس لا يعترف الاختلافات بين الملفات وثيقة، لذلك أود أن قوة الالتزام فضلا

!

وأنا الآن تتحرك وثائق من تطبيق الاستعراض المفصل ثابتة، لإس. الملفات مثل UG_v1.2، UG_v1.3 الخ لذلك فقط للحفاظ على التاريخ، وأغتنم 1.2، إزالة نسخة من اسم الملف وإضافة وارتكابها لإس. ثم أود أن أغتنم هذه النسخة من ثانية واحدة، بنسخه على أول واحد و تريد ارتكابها وإصدار أحدث. حجم الملف ويتغير التاريخ الخلق (لم يذكر ما هو داخل وثيقة)، ولكنه يدعي إس انها تماما نفس الملف ويرفض لي أن يرتكبها. عندما كنت يدويا تغيير وثيقة، إس يرى مختلفة. هيك؟ :>

وأنا لا أعتقد أن هذا ممكن، ولكن قبل كل شيء لماذا تحتاج للقيام بذلك؟ إذا كان ملف دون تغيير أنه لا ينبغي أن تلتزم.

إذا كنت تريد حقا أن ملف مجمعة مع الملفات الأخرى في ارتكاب هل يمكن تغيير شيء بسيط داخل (إضافة مساحة على سبيل المثال).

السبب لماذا يريد شخص ما إلى ارتكاب دون تغيير الملف هو سوء فهم كيفية العودة إلى إصدار سابق من ملف.

على سبيل المثال ، قد تعود الملف index.html في تنقيح 680 فقط عن طريق تحديث إلى تنقيح في الماضي ، على سبيل المثال 650:

svn update index.html -r 650

ولكن ذلك لا يحل المشكلة, لأن:

svn status -u index.html
        *      650   index.html
Status against revision:    680

svn يقول بوضوح أن index.html هو تعديل بعد وأنت لا تستطيع ارتكابها ، أيأنه "يعتقد" أن index.html هي قديمة يجب تحديثها إلى أحدث تنقيح.لذا القادم svn update سوف تجلب index.html العودة إلى تنقيح 680.

حقا العودة ملف يجب دمجها في ترتيب عكسي:

svn merge -r 680:650 index.html

ثم ارتكابها svn ci -m "Reverted to r650" index.html

في الواقع، لقد جئت عبر سببا لقيام قوة الالتزام. وهذا ربما ليس أفضل الممارسات ولكن وضعنا تروكربت ( http://www.truecrypt.org/ ) أحجام التداول في SVN لأننا بحاجة للحفاظ على أمن مشددة على بعض شيل كما أنه يحتوي على معلومات حساسة. عندما يتم إنشاء وحدة تخزين تروكربت، انها البيانات الثنائية يبقى على حاله بغض النظر عن ما تفعله معها. ذلك في الواقع، يمكنني تغيير محتويات وحدة التخزين ولكن حجم يبدو لم يتغير قط.

وتغيير الخاصية لن تجبر يرتكبها.

وتورتويز إس في إن 1.4.5، بناء 10425-32 بت، 2007/08/26 11:14:13

ولدي نفس المشكلة مع حجم تروكربت.

وأضفت خاصية جديدة (كما ذكر أعلاه) "forceCommit1" وكان لهم أنني قادرة على ارتكاب ملف تخزين. ولكن فقط في الممتلكات قد ترتكب لا محتويات الملف.

وأزلت ملف وأضاف مرة أخرى إلى إس

وأنا أعتقد أنك يمكن أن تفعل ذلك من سطر الأوامر؟

svn ci -force <filename>

وأنا لم يكن لديك مستودع هنا للتأكد من أن، لذلك قد أكون على خطأ.

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