سؤال

حسنا، نعرف جميعا إعداد SVN القياسي

trunk\
branches\
tags\

وأدرك أن التوصية هي أن العلامات يجب أن تحتوي على "خاص" يرتكب فيها. لم أستخدمها بالفعل دليل الكلمات ومع ذلك، لا أرى لماذا سأفعل ذلك.

فهمي هو أن العلامات سيحتوي على أشياء مثل "الإصدار 1release ، version2release ، thattimewupgradevegring " إلخ. ولكن هنا هو الشيء، إذا كنت مستمرا وتحتاج إلى إجراء تغيير في الإصدار 1Release، فيجب أن يكون فرعا، وإذا من المفترض أن تكون العلامات متغيرة أبدا ثم ما هي نقطة صنع نسخة في التحكم في المصدر على أي حال؟ فقط قم بعمل مراجعة ملاحظة 712 كان إصدار الإصدار 1 الخاص بنا.

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

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

المحلول

فقط قم بعمل مراجعة ملاحظة 712 كان إصدار الإصدار 1 الخاص بنا.

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

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

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

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

يحرر:

لمعالجة فكرة "تنفيذها كفروع" - أنها ليست كذلك. حقا. في الواقع، لا ينفذ التخريب المتفرعة أو وضع علامات على الإطلاق. تلك هي الأفكار التي تم إنشاؤها بالكامل تم إنشاؤها بالكامل، وكلاهما يحدث لاستخدام الأمر نفسه، svn copy. وبعد ومع ذلك، كنت أيضا استخدم هذا الأمر لنسخ ملف داخل الجذع؛ لا يوجد شيء خاص حيال ذلك. وليس هناك شيء خاص بطبيعته حول الفروع أو العلامات، سواء. إنهم مجرد دلائل عادية التي قررنا علاجها خصيصا (وقد تنفذ ذلك عبر السنانير) لتخفيف إدارة المشروع.

نصائح أخرى

فقط قم بعمل مراجعة ملاحظة 712 كان إصدار الإصدار 1 الخاص بنا.

بالنسبة لي، صنع علامة يكون اتخاذ ملاحظة أن REV 712 كان الإصدار 1.

من السهل جدا رؤية جميع المباني والمعالم الإعلانية والإصدارات، وما إلى ذلك، فقط من خلال النظر إلى مجلد العلامات.

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

يحرر: إذا كنت بارزا عن شخص ما يرتكب تغييرات في مجلد العلامات، فيمكنك استخدام السنانير قبل ارتكابها لمنعها من قبل المستخدم.

فقط قم بعمل مراجعة ملاحظة 712 كان إصدار الإصدار 1 الخاص بنا.

ولكن في هذه الحالة، عليك أن تصدر مذكرة صريحة، تخزن تلاحظ في مكان ما في مكان يمكن للجميع رؤيته ويبحث عنه.

من الأسهل بكثير إنشاء علامة من المراجعة 712 (IE، نسخ من R712 إلى دليل العلامة) باسم "الإصدار 1 الإصدار". ويعرف الجميع على الفور أن هذا هو الإصدار، دون الاضطرار أولا إلى البحث عن المراجعة التي كان إصدار الإصدار 1.

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

نظرا لأن آخرين قالوا إن العلامات / الفروع / الجذع هي كل ما عليك سوى اتفاقية أعلى ذلك، فإن التخريب يتيح لك نسخ جزء واحد من الشجرة إلى مكان آخر (تقريبا) مجانا، ولكن في جوهره، هذا عن ذلك.

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

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

في الواقع، بدأت Collabnet في التفكير في كيفية استخدام مراجعة التحكم في المراجعة عدم التنمية مشاريع. وبعد قد تكون الفكرة بأكملها من Tags Trunk وفروع غير صحيحة لبعض هذه.

مؤتمري عند التفكير في مستودع شفرة المصدر هو:

  • الجذع - القائمة الكاملة للمراجعات التي قد يتم إصدارها للعيش
  • المهمة - وصف خارجي لوظيفة / علة تضم مجموعة من المراجعات
  • فرع التنمية - مجموعة من المراجعات التي ليست مستعدة بعد للجذع
  • فرع الصيانة - مكان لجمع التنقيحات من الجذع للإفراج
  • علامة - لقطة اسمه فرع الصيانة

يمكن أن تعطيك العلامات أيضا عنوان URL قابل للاستخدام للوثائق، على سبيل المثال:

"الإصدار متاح في http: //svnserver/myproject/tags/1.0."يمكن أن يكون:" الإصدار متاح في http: // svnserver / myproject / trunk @ 4483"

ولكن عند التصفح من خلال المستودع، لن تقود أبدا @ 4483 ومعرفة أنه كان بأي حال من الأحوال خاصة.

استخدمناها لوضع العلامة بين المباني المحددة التي كانت مثيرة للاهتمام ولكن لا تصدر، على سبيل المثال: "المستثمر التجريبي"، إلخ.

لا تهدف العلامات إلى تعديلها، يجب عليك إنشاء فرع إذا كنت تريد القيام بذلك.

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

يجب أن لا يمكنك الخروج علامة للتحرير.

أنت لا تفقد أي تاريخ عن طريق التفرع (النسخ) في SVN. كل شيء مرتبط معا.

من المفترض أن تشير العلامات إلى "إصدار" ثابت من تطبيق "مجموعة من الملفات.
("إصدار التطبيق" بدلا من "رقم الإصدار الداخلي التقني المستخدمة من قبل VCS"، مثل المراجعة ل SVN، أو Sha-1 for GIT، أو ID for Clearcase، أو ...)
من المفترض أن تكون بمثابة المرجعي ليتم تسهيلها ونشرها في مساحة عمل أخرى (لاختبار أو UAT - اختبارات قبول المستخدم -)

نظرا لأن SVN تنفذ علامات مثل الفروع: كدليل، يمكن أن يكون الحافز لتعديل الملفات في علامة قوية، لكنه سيهزم الغرض من العلامة. لدى VCS الأخرى فكرة التسمية (أو "الأساس") والتي، بمجرد تعيينها، لا يمكن نقلها بعد الآن.

التي جورج ماير تعليقات:

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

"تنفذ"؟ لكنهم لم "تنفيذ" فكرة العلامة. SVN ليس لديه "علامة" في حد ذاته. لقد أعادون استخدام فروعهم فقط وقال إنه يمكن استخدامه أيضا كعلامة.

retbook svn يصرح بوضوح:

ولكن انتظر لحظة: أليس هذا الإجراء إنشاء العلامة نفس الإجراء الذي اعتدنا عليه إنشاء فرع؟ نعم، في الواقع، هو.
في التخريب، لا يوجد فرق بين علامة وفرع. كلاهما مجرد دلائل عادية تم إنشاؤها عن طريق النسخ.
كما هو الحال مع الفروع، السبب الوحيد الدليل النسخ هو "علامة" هي أن البشر قرروا علاجها بهذه الطريقة: طالما لم يرتكب أحد على الدليل، فسيظل إلى الأبد لقطة. إذا بدأ الناس في الالتزام به، يصبح فرعا.

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

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

في تجربتي تستخدم علامات الإفراج عن علامات الإفراج، وأين ليس من المرجح أن تصدر تعديلات.

إذا قمت بإنشاء فرع "Services2-0"، ثم نحتاج إلى إجراء تغييرات (على سبيل المثال لإصلاح علة موجود بعد الإطلاق) لم يعد يمثل ما تم إصداره للإصدار 2.0.

إذا قمت بدلا من ذلك بإنشاء علامة "services2-0" وتجد أنك بحاجة إلى التصحيح هذا الإصدار، فيمكنك إنشاء فرع جديد، وجعل الإصلاح هناك، والعلامة التي "الإصدار-2-0-1".

بهذه الطريقة يمكنك الوصول بسهولة إلى أي من الإصدارات الخاصة بك.

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