git-svn-segítők gyűjteménye parancssori eszközöket, amelyek nagyban leegyszerűsíti a git az SVN.
git-svn-segítők fő cél az, hogy létrehozhassanak egy helyi git repository következő egy meglévő svn checkout a "nem-agy".
Foglalkozik továbbá segítségével egy git-svn repository dolgozó több pénztáraknál (általában) különböző ágazatok és váltás közöttük.
alapszintű kezelése (példa)
Vezetői összefoglaló:
> Cd path / to / svn / repo
> Gitify
Itt egy példa látható:
> Cd / tmp
> Svn co https://svn.plone.org/svn/plone/plone.app.form/branches/1.1 plone.app.form
A 1.1 / setup.py
...
Kivették felülvizsgálata 27.228.
> Cd plone.app.form
> Gitify
Nem git repository található /Users/tomster/.gitcache/.
Kezdeményező klónozással cache.
Elemezve svn log ...
Klónozás https://svn.plone.org/svn/plone/plone.app.form/ a r10593: 27.155 be /Users/tomster/.gitcache/
Inicializálva üres Git repository /Users/tomster/.gitcache/plone.app.form/.git/
...
Git ág "local / 1.1 'mostantól őt követi svn ág" 1.1 ":
# A fióktelep local / 1.1
Nincs elkövetni (munkakönyvtárba tiszta)
> Git ág
* Local / 1.1
& Nbsp; mestere
Fontos tudnivalók:
& Nbsp; * gitify korlátozta a klónozás a módosítások találhatók az svn log a csomag gyökér (itt https://svn.plone.org/svn/plone/plone.app.form/). Egy nagy idő mód, különösen nagy tárolók (mint például plone.collective)
& Nbsp; * gitify létre a git tárolóba történő ~ / .gitcache nincs a helyén
& Nbsp; * gitify létre a helyi szervezete a helyi / 1.1, amely követi a (távoli) svn ág 1.1 váltott meg
Több check-out
A gyakorlatban akkor sokszor speciális helyi másolatot egy adott adattár, azaz a törzsön és a szolgáltatás ág. Ez az, amikor a .gitcache könyvtár fent létrehozott jön jól. Térjünk át a korábbi pénztár az útból, és hozzon létre egy karbantartási pénztárnál, hogy a következőképpen trunk:
> Cd ..
> Mkdir feature-ág
> Mv plone.app.form szolgáltatás-ág /
> Mkdir karbantartási
> Cd karbantartási /
> Svn co https://svn.plone.org/svn/plone/plone.app.form/trunk plone.app.form
A plone.app.form / setup.py
...
& Nbsp; U plone.app.form
Kivették felülvizsgálata 27.228.
Mi történik, ha futunk gitify itt ?:
> Cd plone.app.form /
> Gitify
Git ág "local / trunk 'mostantól őt követi svn ág" trunk ":
# On ág helyi / trunk
Nincs elkövetni (munkakönyvtárba tiszta)
Figyeljük meg, hogy ez a művelet ment, sokkal gyorsabban, mint azt már használta a meglévő git repository a cache könyvtárat. Ez lehet az is igazolja, nézi a rendelkezésre álló helyi ágak most:
> Git ág
& Nbsp; local / 1.1
* Local / trunk
& Nbsp; mestere
Ellenjavallat
"Újrahasznosítás" .git ilyen módon működik (talán meglepő módon) a gyakorlatban jól, de meg kell tartani szem előtt a következőket:
Minden pénztáraknál azonos index!
Vessünk egy pillantást, mit jelent ez a váltás vissza a funkció ág:
> Cd ../../feature-branch/plone.app.form/
> Git status
# On ág helyi / trunk
# Megváltozott, de nem frissítette:
# (Use "git add / rm ..." frissíteni, mi lesz elkövetett)
# (Use "git checkout - ..." megválni változások munka könyvtár)
#
# Módosította: docs / tortenet.txt
...
# Hagyni: Plone / app / form / KSS / tesztek / test_kss.py
...
#
# Untracked fájlokat:
# (Use "git hozzá ..." felvenni, mi lesz elkövetett)
#
# Plone / app / form / tesztek / test_kss.py
Wohah! Az történt, hogy .git utal most már a törzs és így a jelenlegi parancs megmutatja a különbséget közte és a fióktelep helyi módosítások, hiszen ez az, amit a fájlrendszer képvisel. Tudjuk ellenőrizni ezt a segítségével verzióknál status parancsot:
> Svn st
Pfuj! Minden érdekében! De mi köze git? Már befejezte a munkát a törzsön és szeretné, hogy vissza a funkció ág, de a git index minden rossz ?! Egyszerű: csak futtasd újra gitify:
> Gitify
Git ág "local / 1.1 'mostantól őt követi svn ág" 1.1 ":
# A fióktelep local / 1.1
Nincs elkövetni (munkakönyvtárba tiszta)
Alapvetően, ez minden, amit kell, hogy mikor dolgozik több check-out az azonos csomagban: Mindig fut gitify váltása után check-out!
Mi az új ebben a kiadásban :
- A cannonical repository most https://github.com/collective. [Rossp]
- Fix kezelésére, amikor átvált egy svn ág, amely git már van helyi szervezete számára. [Rossp]
Mi az új a 0.8 verzió:
- init parancsot követ végig, ha a SVN volt kapcsolva egy másik ágra. Hála Calvin Hendryx-Parker bejelentésére a kérdést. [Tomster]
Mi az új a 0.7 verzió:
- A teljes példányát helyett symlinks munkakulcsokat példányban. Ezzel elkerülhető a kérdés, amely a git és SVN a szinkront ha dolgozik több példányban ugyanazt a tárat és jelentősen csökkenti a kockázatot a konfliktusok.
- Ez azt is jelenti, hogy a lehívási parancs most már csak akkor működik a cache módosítása nélkül munkapéldány (így biztonságos működtetéséhez keresztül crontab, például)
- Futás gitify ellen, egy régi stílusú munkapéldány fog egy hiba. Egyszerűen törli a linkről, és újra lefolytatja gitify jogorvoslati, hogy de.
- Egy másik hatása, hogy az init parancsot most csak szükséges, ha minden egyes működő példány (ez már nem szükséges újra futtatni a parancsot a bekapcsolás után munkahelyek között példányban ugyanazt a repository).
- gitify tehát már nem alapértelmezett, hogy az init parancsot (mint ahogy nem git, sem svn semmit w / o ellátó konkrét lépéseket). Azt is lett nevezve a gitify (vissza) az init. [Tomster]
- Hagyja, hogy a segítség, --version és hozz parancsokat futtatni kívül .svn könyvtárak [tomster]
Mi az új a 0.5 verzió:
- Added gitify update parancs, amely elvégzi a git-svn Rebase műveletet az aktuális svn checkout hanem kezeli le nem kötött helyi változások gracelully (ellentétben a git svn de mint svn igen)
- már nem használhatja a naplózás modul felhasználói visszajelzések. Ez az elképzelés meglehetősen elhibázott
Mi az új a 0.4 verzió:
- Refactored a betáplálási pont csak használja gitify. Minden más parancsok mostantól al-parancsainak gitify:
- gs-commit váltotta gitify nyomja
- gs-fetch váltotta gitify letölteni
- Added használat és segítséget kimenet minden parancsot.
- Eltávolították az gs-klón belépési pont ahogy azt mindig csak együtt használható a fő gitify parancsot egyébként.
- Használjon megfelelő naplózási helyett csak nyomtatáshoz stdout
- hozzátette, átfogó vizsgálatok, beleértve a funkcionális vizsgálatokat, hogy fedezze az egész update / elkövetni ciklus klónozás az SVN tárolót és elkövetésének vissza rá.
Mi az új a 0.3.1 verzió:
- Hibajavítás: Ne használjon olyan egyedi álnevek, mint lehet, hogy nem lehet telepíteni. Ez megoldja http://github.com/tomster/git-svn-helpers/issues#issue/2
- Hibajavítás: kifejezetten sorolja elementtree mint függőség Ezzel megoldódik http://github.com/tomster/git-svn-helpers/issues#issue/1)
Mi az új verzióban 0.3 Beta:
- Hozzáadás a gs-commit parancs, amely segít elkövetése vissza svn és folyamatosan git és svn szinkronban
Mi az új a 0.2 verzió Beta:
- Hozzáadás a gs-lehívási parancs, amely segít tartani a cache up-to-date
követelmények :
- Python
Hozzászólás nem található