git-svn-helpers

Skjermbilde programvare:
git-svn-helpers
Prog.varedetaljer:
Versjon: 0.9
Last opp dato: 15 Apr 15
Utvikler: Tom Lazar
Lisens: Gratis
Popularitet: 24

Rating: nan/5 (Total Votes: 0)

git-svn-hjelpere er en samling av kommandolinje verktøy som forenkler bruker git for svn repositories.
git-svn-hjelpere hovedmål er å gjøre å sette opp en lokal git repository etter en eksisterende svn checkout en "no-brainer".
Det løser også hjelp av en enkelt git-svn oppbevaringssted for å arbeide på flere kasser av (vanligvis) forskjellige grener og veksle mellom dem.
Grunnleggende bruk (Eksempel)
Kortfattet sammendrag:
> Cd sti / til / svn / repo
> Gitify
Her er et eksempel økt:
> Cd / tmp
> Svn co https://svn.plone.org/svn/plone/plone.app.form/branches/1.1 plone.app.form
En 1.1 / setup.py
...
Sjekket ut revisjon 27228.
> Cd plone.app.form
> Gitify
Ingen git repository funnet i /Users/tomster/.gitcache/.
Initiere kloning i cache.
Analysere svn log ...
Kloning https://svn.plone.org/svn/plone/plone.app.form/ fra r10593: 27155 til /Users/tomster/.gitcache/
Initialisert tom Git repository i /Users/tomster/.gitcache/plone.app.form/.git/
...
Git gren "lokal / 1.1 'følger nå svn gren' 1.1 ':
# På gren lokal / 1.1
ingenting å begå (arbeidsmappen ren)
> Git gren
* Local / 1.1
& Nbsp; mester
Punkter å merke seg:
& Nbsp; * gitify begrenset kloning av revisjon funnet i svn log av pakken root (her https://svn.plone.org/svn/plone/plone.app.form/). En stor tidsbesparende, spesielt på store repositories (som plone.collective)
& Nbsp; * gitify skapte git repository på ~ / .gitcache ikke på plass
& Nbsp; * gitify opprettet en lokalavdeling lokal / 1.1 som følger (ekstern) svn gren 1.1 og byttet til det
Flere utsjekking
I praksis vil du ofte arbeider med ulike lokale kopier av et gitt depot, dvs. på bagasjerommet og på en funksjon gren. Det er da .gitcache katalogen opprettet ovenfor kommer i hendig. La oss gå vår forrige kassa ut av veien og skape en vedlikeholds kassa som følger trunk:
> Cd ..
> Mkdir funksjon-gren
> Mv plone.app.form funksjon-gren /
> Mkdir vedlikehold
> Cd vedlikehold /
> Svn co https://svn.plone.org/svn/plone/plone.app.form/trunk plone.app.form
En plone.app.form / setup.py
...
& Nbsp; U plone.app.form
Sjekket ut revisjon 27228.
Hva skjer hvis vi kjører gitify her ?:
> Cd plone.app.form /
> Gitify
Git gren 'lokal / trunk' følger nå svn gren 'stammen':
# På gren lokal / trunk
ingenting å begå (arbeidsmappen ren)
Legg merke til at denne operasjonen gikk mye raskere, som vi nå har brukt de eksisterende git repository i cache katalogen. Dette kan bli ytterligere dokumentert ved å se på de tilgjengelige lokallag nå:
> Git gren
& Nbsp; local / 1.1
* Lokale / trunk
& Nbsp; mester
Advarsler
'Resirkulering' .git på denne måten fungerer (kanskje overraskende) godt i praksis, men du trenger å ha følgende i bakhodet:
Alle kassene har samme indeksen!
La oss ta en titt på hva dette betyr ved å bytte tilbake til vår funksjon gren:
> Cd ../../feature-branch/plone.app.form/
> Git status
# På gren lokal / trunk
# Endret men ikke oppdatert:
# (Bruk "git legge / rm ..." for å oppdatere hva som vil være forpliktet)
# (Bruk "git checkout - ..." for å forkaste endringer i arbeidsmappen)
#
# Modifiserte: docs / History.txt
...
# Slettet: Plone / app / skjema / kss / tester / test_kss.py
...
#
# Usporede filer:
# (Bruk "git legge ..." å ta med i hva som vil være forpliktet)
#
# Plone / app / skjema / tester / test_kss.py
Wohah! Hva har skjedd er at .git nå peker til bagasjerommet og dermed status kommandoen viser forskjellen mellom det og vår gren som lokale modifikasjoner, siden det er det filsystemet representerer. Vi kan bekrefte dette ved å bruke kommandoen subversjoner status:
> Svn st

Phew! Alt i orden! Men hva de skal gjøre med git? Vi er ferdig med å jobbe på kropp og ønsker å komme tilbake til vår funksjon gren, men det git indeksen er helt feil ?! Enkelt: bare re-run gitify:
> Gitify
Git gren "lokal / 1.1 'følger nå svn gren' 1.1 ':
# På gren lokal / 1.1
ingenting å begå (arbeidsmappen ren)
I utgangspunktet, det er alt du trenger å huske på når du arbeider med flere utsjekking av samme pakke: Kjør alltid gitify når du bytter mellom utsjekking

Hva er nytt i denne utgivelsen :

  • cannonical repository nå i https://github.com/collective. [Rossp]
  • Fix håndteringen når du bytter til en svn gren som git allerede har en lokal avdeling for. [Rossp]

Hva er nytt i versjon 0.8:

  • Gjør init-kommandoen følge med hvis SVN har vært byttet til en annen gren. Takk til Calvin Hendryx-Parker for rapporten om problemet. [Tomster]

Hva er nytt i versjon 0.7:

  • Bruk hele kopier i stedet for symlinker å lage arbeidskopier. Dette unngår problemet med å ha git og SVN ute av sync når du arbeider med flere kopier av samme depot og reduserer risikoen for konflikter.
  • Dette betyr også at hente kommandoen nå bare opererer på cache uten å endre arbeidskopien (som gjør det trygt å kjøre via crontab, for eksempel)
  • Kjører gitify mot en gammel stil arbeidskopi vil produsere en feil. Bare slette symlink og re-kjører gitify rettsmidler som, imidlertid.
  • En annen effekt er at init kommandoen er nå bare trengte én gang for hver arbeidskopi (det er ikke lenger nødvendig å kjøre kommandoen etter bytte mellom forskjellige arbeids kopier av samme depot).
  • gitify derfor ikke lenger automatisk tilbake til init-kommando (akkurat som verken git eller svn gjøre noe w / o levere en eksplisitt handling). Også har det blitt omdøpt fra gitify (tilbake) til init. [Tomster]
  • Tillat hjelp, --version og hente kommandoer for å kjøre utenfor .svn kataloger [tomster]

Hva er nytt i versjon 0.5:

  • Lagt gitify oppdatering kommando, som utfører en git-svn rebase drift for dagens svn checkout men håndterer også iverksatte lokale endringer gracelully (i motsetning git svn men som svn gjør)
  • Ikke lenger bruke logging modul for tilbakemeldinger fra brukerne. At ideen var heller misguided

Hva er nytt i versjon 0.4:

  • Refactored den inngangspunkter for å bare bruke gitify. Alle andre kommandoer er nå underkommandoen til gitify:
  • gs-commit har blitt erstattet med gitify trykk
  • gs fylgja har blitt erstattet med gitify hente
  • Lagt bruk og hjelp utgang for hver kommando.
  • Fjernet gs-klone inngangspunkt som det ble bare brukt sammen med hoved gitify kommando uansett.
  • Bruk riktig logging i stedet for bare å skrive til stdout
  • Lagt omfattende tester, inkludert funksjonelle tester som dekker hele oppdatering / forplikte syklus av kloning en svn depot og du forplikter deg tilbake til det.

Hva er nytt i versjon 0.3.1:

  • Rettelse: Ikke bruke tilpassede aliaser, som de kan ikke installeres. Dette løser http://github.com/tomster/git-svn-helpers/issues#issue/2
  • feilretting: Eksplisitt liste elementtree som avhengighet Dette løser http://github.com/tomster/git-svn-helpers/issues#issue/1)

Hva er nytt i versjon 0.3 Beta:

  • Lagt de gs-commit kommando som hjelper begå tilbake til svn og holde git og svn synkronisert

Hva er nytt i versjon 0.2 Beta:

  • Lagt kommando som hjelper å holde bufferen de gs-hente up-to-date

Krav :

  • Python

Lignende programvare

gitstatus
gitstatus

12 May 15

sapling
sapling

14 Apr 15

NiceCommits
NiceCommits

20 Feb 15

githubhooks
githubhooks

20 Feb 15

Annen programvare fra utvikleren Tom Lazar

ezjail-remote
ezjail-remote

20 Feb 15

Kommentarer til git-svn-helpers

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!