-SVN git-עוזרים הוא אוסף של כלי שורת הפקודה שמאוד מפשט באמצעות git למאגרי svn.
המטרה העיקרית של git-SVN-העוזרים היא להפוך את הקמת מאגר git מקומי הבאות הלקוחות svn קיימים "לא brainer".
זה מתייחס גם לשימוש במאגר-SVN git יחיד לעבודה על checkouts מרובה של (בדרך כלל) ענפים שונים ומעבר ביניהם.
שימוש בסיסי (לדוגמא)
תקציר מנהלים:
> נתיב cd / ל/ svn / repo
> Gitify
הנה מושב מדגם:
> Cd / tmp
> שיתוף svn https://svn.plone.org/svn/plone/plone.app.form/branches/1.1 plone.app.form
1.1 / setup.py
...
27,228 תיקון בדקו.
> Plone.app.form cd
> Gitify
אין מאגר git מצא ב/Users/tomster/.gitcache/.
ייזום שיבוט למטמון.
ניתוח יומן svn ...
שיבוט https://svn.plone.org/svn/plone/plone.app.form/ מr10593: 27155 ל/Users/tomster/.gitcache/
מאגר Git הריק אותחל ב/Users/tomster/.gitcache/plone.app.form/.git/
...
סניף סניף Git 'המקומי / 1.1' כעת הבא svn '1.1':
# בסניף מקומי / 1.1
שום דבר לא להתחייב (ספריית עבודה נקייה)
> סניף git
* מקומיים / 1.1
& Nbsp; הורים
נקודות לתשומת לב:
& Nbsp; * gitify מוגבל השיבוט לתיקונים שמצאו ביומן svn של שורש החבילה (כאן https://svn.plone.org/svn/plone/plone.app.form/). שומר גדול זמן, במיוחד במאגרים גדולים (כגון plone.collective)
& Nbsp; * gitify יצר את מאגר git ב ~ / .gitcache לא במקום
& Nbsp; * gitify נוצר סניף מקומי / 1.1 העוקב (מרחוק) סניף SVN 1.1 ועבר לזה
צ'ק-אאוט מרובה
בפועל אתה עובד לעתים קרובות עם העתקים שונים מקומיים של מאגר נתון, כלומר בתא מטען ועל ענף תכונה. זה היה הרגע שספריית .gitcache נוצרה מעל שימושית. בואו נעבור לקופה הקודמת שלנו את הדרך וליצור הלקוחות תחזוקה העוקב תא מטען:
> Cd ..
> Mkdir תכונה-סניף
> Plone.app.form MV תכונה-סניף /
> תחזוקת mkdir
> תחזוקת cd /
> שיתוף svn https://svn.plone.org/svn/plone/plone.app.form/trunk plone.app.form
Plone.app.form / setup.py
...
& Nbsp; plone.app.form U
27,228 תיקון בדקו.
מה קורה אם אנחנו רצים gitify כאן ?:
> Plone.app.form cd /
> Gitify
"המקומי / הגזע 'סניף Git כעת הבא' גזע 'svn סניף:
# בסניף מקומי / תא מטען
שום דבר לא להתחייב (ספריית עבודה נקייה)
שים לב, כי פעולה זו הלכה הרבה יותר מהר, כפי שאנו עכשיו השתמשנו במאגר git הקיים בספריית המטמון. זה יכול להיות שמעיד עוד יותר על ידי הסתכלות בסניפים המקומיים הזמינים כעת:
> סניף git
& Nbsp; מקומי / 1.1
* מקומי / תא מטען
& Nbsp; הורים
אזהרות
.git 'המיחזור' באופן זה עובד (אולי באופן מפתיע) גם בפרקטיקה, אבל אתה צריך לשמור את הדברים הבאים:
כל checkouts חולק את אותו המדד!
בואו נסתכל על מה זה אומר על ידי מעבר חזרה לסניף התכונה שלנו:
> ../../feature-branch/plone.app.form/ Cd
> מעמד git
# בסניף מקומי / תא מטען
# השתנה, אבל לא מעודכן:
# (שימוש "git להוסיף / rm ..." לעדכן מה יהיה מחויב)
# (שימוש "הלקוחות git - ..." על מנת להתעלם שינויים בספריית עבודה)
#
# שונה: מסמכים / HISTORY.txt
...
# נמחק: / אפליקציה / צורה / KSS / בדיקות / test_kss.py פלון
...
#
# קבצים בלא מתום:
# (שימוש "git להוסיף ..." לכלול במה יהיה מחויב)
#
# פלון / אפליקציה / צורה / בדיקות / test_kss.py
Wohah! מה שקרה הוא ש.git עכשיו מצביע על תא מטען וכך את פקודת המעמד מראה את ההבדל בין זה לבין הסניף שלנו כשינויים מקומיים, כי זה מה שמייצג את מערכת הקבצים. אנו יכולים לאמת את זה על ידי שימוש בפקודת מעמד חתרנות:
> Svn st
אוף! כל זאת במטרה! אבל מה לעשות עם git? אנחנו כבר סיימנו לעבוד על תא מטען ורוצים לחזור לסניף התכונה שלנו, אבל מדד git הוא לא בסדר ?! פשוט: רק להפעיל מחדש gitify:
> Gitify
סניף סניף Git 'המקומי / 1.1' כעת הבא svn '1.1':
# בסניף מקומי / 1.1
שום דבר לא להתחייב (ספריית עבודה נקייה)
בעיקרון, זה כל מה שאתה צריך לזכור בעת עבודה עם צ'ק-אאוט מרובה של אותה אריזה! תמיד לרוץ gitify בעת מעבר בין צ'ק-אאוט
מה חדש בהודעה זו :
- מאגר cannonical הוא עכשיו בhttps://github.com/collective. [Rossp]
מה חדש בגרסת 0.8:
- הפוך את פקודת init פעלה יחד אם מאגר svn היה עבר לסניף אחר. תודה לקלווין Hendryx-פרקר על דיווח הבעיה. [Tomster]
מה חדש בגרסה 0.7:
- השתמש בעותקים מלאים במקום קישורים סימבוליים ליצור עותקים עובדים. זה ימנע את הבעיה שיש מאגר git svn ומסונכרן בעת עבודה עם מספר עותקים של אותו המאגר ומקטין באופן משמעותי את הסיכון לקונפליקטים.
מה חדש בגרסת 0.5:
- פקודת עדכון gitify נוסף, אשר מבצעת rebase-SVN git פעולה ללקוחות svn הנוכחיים אלא גם מטפל בשינויים מחויבים מקומיים gracelully (שלא כמו svn git אבל כמו svn עושה)
- לא עוד להשתמש במודול הרישום למשוב ממשתמשים. הרעיון שהיה ולא מוטעה
מה חדש בגרסה 0.4:
- refactored נקודות הכניסה רק לשימוש gitify. כל פקודות אחרות נמצאות כעת תת-פקודות של gitify:
GS-תוך התחייבות ש< li> הוחלף בדחיפת gitify
מה חדש בגרסת 0.3.1:
- תיקון באג: אין להשתמש בכינויים מותאמים אישית, כ הם אינם מותקנים. זה פותר http://github.com/tomster/git-svn-helpers/issues#issue/2
- תיקון באג: באופן מפורש ברשימת elementtree כתלות זה פותר http://github.com/tomster/git-svn-helpers/issues#issue/1)
מה חדש בגרסת 0.3 Beta:
- נוסף GS-להתחייב הפקודה שמסייעת בביצוע בחזרה ל svn וgit השמירה וSVN מסונכרן
מה חדש בגרסת 0.2 Beta:
- נוסף GS-להביא פקודה שעוזרת לשמור את המטמון עד עדכני
דרישות :
- Python
תגובות לא נמצא