Git-SVN-помощници е колекция от команден ред, което значително опростява използване Git за SVN хранилища.
Основната цел в Git-SVN-помощници е да направи създава местно Git хранилището след съществуващ SVN касата на "не-мозък".
Така се решават с помощта на един Git-SVN хранилище за работа по няколко напускането на (обикновено) различни браншове и превключване между тях.
<Силен> Основни положения (пример)
Резюме:
> CD път / до / SVN / репо
> Gitify
Ето една сесия проба:
> CD / TMP
> SVN съвместно https://svn.plone.org/svn/plone/plone.app.form/branches/1.1 plone.app.form
A 1.1 / setup.py
...
Проверено редакция 27228.
> CD plone.app.form
> Gitify
Не Git хранилището намерено в /Users/tomster/.gitcache/.
Иницииране на клонирането в кеш.
Анализирайки SVN дневник ...
Клонирането https://svn.plone.org/svn/plone/plone.app.form/ от r10593: 27,155 в /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 ..
> Защитен режим черта-клон
> MV plone.app.form черта-клон /
> Поддръжка защитен режим
> Поддръжка на CD /
> SVN съвместно https://svn.plone.org/svn/plone/plone.app.form/trunk plone.app.form
A plone.app.form / setup.py
...
& Nbsp; U plone.app.form
Проверено редакция 27228.
Какво се случва, ако бягаме gitify тук ?:
> CD plone.app.form /
> Gitify
Git клон "местно / багажника" вече следи SVN клон "багажника":
# На клон местно / багажника
какво да се ангажират (работна директория чиста)
Забележете, че тази операция мина много по-бързо, тъй като ние вече са използвани съществуващите Git хранилището в директорията кеш. Това може допълнително да се доказва чрез разглеждане на наличните местни клонове в момента:
> Git клон
& Nbsp; местно / 1.1
* Местно / багажника
& Nbsp; майстор
<Силен> Уговорки
.git "Рециклиране" по този начин работи (може би изненадващо) и на практика, но трябва да се запази предвид следното:
Всички напускането на хотела имат един и същ индекс!
Нека да погледнем какво означава това, като се превключва обратно към нашата функция клон:
> CD ../../feature-branch/plone.app.form/
> Статут Git
# На клон местно / багажника
# Промени, но не на актуализация:
# (Използвайте "Git добавите / RM ...", за да актуализирате какво ще бъде извършено)
# (Използвайте "Git касата - ..." да отхвърлите промените в работна директория)
#
# Модифицирани: Документи / HISTORY.txt
...
# Заличава: Plone / ап / форма / KSS / тестове / test_kss.py
...
#
# непроследена файлове:
# (Използвайте "Git добави ..." да се включат в това, което ще бъде извършено)
#
# Plone / ап / форма / тестове / test_kss.py
Wohah! Какво се е случило е, че .git вече сочи багажника и по този начин командата на състоянието показва разликата между които и нашия бранш, тъй като местните изменения, тъй като това е, което файловата система представлява. Ние може да се провери това чрез използване на командата статут subversions:
> SVN-ви
Пфу! Всичко в ред! Но какво да се прави с Git? Ние сме свършили работа върху торса и искам да се върна към нашата функция клон, но индексът на Git е напълно погрешно ?! Simple: просто пуснете отново gitify:
> Gitify
Git клон "местно / 1.1" вече следи SVN клон "1.1":
# На клон местно / 1.1
какво да се ангажират (работна директория чиста)
По принцип, това е всичко, което трябва да запомните, когато се работи с множество напускане на една и съща опаковка: Винаги тече gitify при превключване между напускане
Какво ново в тази версия :
- The cannonical хранилището в момента е в https://github.com/collective. [Rossp]
- Fix манипулирането при превключване към SVN клон че Git вече има местен клон на. [Rossp]
Какво ново във версия 0.8:
- Направи командата първоначален следват заедно, ако хранилището SVN е преминали на друг клон. Благодарение на Calvin Хендрикс-Parker за отчитане на издаването. [Tomster]
Какво ново във версия 0.7:
- Използвайте пълни копия вместо символните да създаде работни копия. Така се избягва въпросът за като Git и SVN хранилището в синхрон при работа с множество копия на същите хранилища и значително намалява риска от конфликти.
- Това също така означава, че командата донесе сега работи само на кеш паметта, без да променяте работната копие (което го прави безопасен за работа чрез кронтаб, например)
- бягане gitify срещу работно копие стар стил ще се получи грешка. Просто изтриване на символната връзка и отново се работи gitify средства за защита, които, обаче.
- Друг ефект, е, че командата първоначален сега се нуждаеше само веднъж за всяко работно копие (вече не е необходимо отново да изпълните командата след превключване между различни работни копия на същите хранилища).
- gitify Затова вече не е по подразбиране командата първоначален (точно както нито Git нито SVN направи нищо в / м доставя изрично действие). Също така, той е преименуван от gitify (обратно) да Init. [Tomster]
- Разрешаване на помощ, --version и донесе команди да тече извън .svn директории [tomster]
Какво ново във версия 0.5:
- Добавена gitify актуализация команда, която изпълнява Git-SVN rebase операция за текущата SVN касата, но също така се занимава неангажирани местните промени gracelully (за разлика от Git SVN, но като SVN прави)
- Вече не използвате модула сеч за обратна връзка с потребителите. Тази идея беше доста заблуден
Какво ново във версия 0.4:
- Refactored на входните пунктове да се използва само gitify. Всички други команди са вече под-команди на gitify:
- GS-комит е заменен с gitify тласък
- GS-Изважда се заменя с gitify донесе
- Добавена ползване и помощ изход за всяка команда.
- Премахнато точка на влизане в GS-клонинг, тъй като е само някога се използва заедно с главния gitify команда, така или иначе.
- Използвайте правилното сеч, вместо просто да печатате на стандартния изход
- Добавена изчерпателни тестове, включително и функционални тестове, които обхващат целия актуализацията / ангажират цикъл на клониране на SVN хранилището и предоставяща върна към него.
Какво ново във версия 0.3.1:
- Bugfix: Да не се използва персонализирани псевдоними, като те не могат да бъдат инсталирани. Това решава http://github.com/tomster/git-svn-helpers/issues#issue/2
- Bugfix: Изрично се изброят elementtree като зависимостта Това решава http://github.com/tomster/git-svn-helpers/issues#issue/1)
Какво ново във версия 0.3 Beta:
- добавя GS-ангажират команда, която помага да извърши обратно в SVN и поддържане Git и SVN в синхрон
Какво ново във версия 0.2 Beta:
- добавя GS-донесат команда, която помага поддържането на кеш паметта до актуална
<силни> Изисквания :
- Python
Коментари не е намерена