checkoutmanager gör bzr / hg / git / svn kassor på flera ställen efter en konfigurationsfil.
Utvecklare kommentarer
Fördelen: du har ett kommando som du kan uppdatera alla dina kassor. Och med vilken du kan be om en lista med obekräftade förändringar. Och du kan bygga hela din kassan struktur på en ny maskin bara genom att kopiera konfigurationsfilen (detta var faktiskt syftet jag bygga den för: Jag var tvungen att byta bärbara datorer när jag bytte jobb ...).
Varning: jag bara testat det på OSX och Linux, så inga garantier för fönster. Om det finns förändringar som behövs, kommer de förmodligen att bli mindre. Så jag välkomnar felrapporter och patchar.
Generic användning
Vad jag gör normalt varje morgon när jag kommer till jobbet är checkoutmanager upp. Detta grabs de senaste versionerna av alla mina kassor från servern (s). Så en svn upp för mina subversion kassor, en hg pull -u för mercurial och så vidare.
Från tid till annan, jag gör en checkoutmanager st att visa om jag har några obekräftade filer liggande någonstans. Mycket praktiskt om du har arbetat i flera kataloger under hela dagen: det hindrar dig från att glömma att checka in att en buggfix för en hel vecka.
Ett nytt projekt innebär att jag lägger till en enda rad till min config-fil och kör checkoutmanager co.
Checkoutmanager kan du sprida dina kassor över flera kataloger. Det kan inte blanda versionshanteringssystem per katalog, dock. Som ett exempel, jag har en ~ / utbyggnad / katalogen med mina stora svn webbplats projekt kontrolleras ute. Och en katalog med mina SVN arbete python bibliotek. Och en ~ / hg / dir med mina kvicksilverprojekt. Och jag har gjort kassor flera config kataloger i mitt hem dir, t.ex. ~ / .emacs.d, ~ / .subversion och så vidare. Fungerar bara bra.
Kommandon
Tillgängliga kommandon:
existerar
& Nbsp; Print om kassorna är närvarande eller saknas
upp
& Nbsp; Grab senaste versionen från servern.
st
& Nbsp; Print status filer i kassorna
co
& Nbsp; Grab saknade kassor från servern
saknas
& Nbsp; Utskrifts kataloger som saknas i konfigurationsfilen
Output katalogen namngivning
Om du inte anger en utgång katalognamn för din kassan url, det tar bara den sista delen. Ett undantag: subversion. Det är intelligent där:
& Nbsp; * https: // xxx / yyy / produkt / trunk blir "produkt" i stället för "trunk".
& Nbsp; * https: // xxx / yyy / produkt / grenar / experiment blir "product_experiment" istället för "experiment"
Om du vill ha något annat, bara ange ett katalognamn (separerade med ett mellanslag) i konfigurationsfilen.
Config fil
Prov konfigurationsfil:
# Prov konfigurationsfil. Olika sektioner per bas plats och version
# Styrsystem. Dela upp allt överallt i flera
# kataloger är bra.
[recept]
# Utbyggnad recept jag arbetar på.
vcs = svn
basedir = ~ / svn / recept
kassor =
& Nbsp; svn: // svn / blablabla / trunk
& Nbsp; svn: // svn / annan / trunk differentname
& Nbsp; http: // värd / yetanother / trunk
& Nbsp; https: // värd / yetanother / grenar / Reinout-fix
[dotfolders]
# Mappar som hamnar som prickade configfolders i roten.
VCS = bzr
basedir = ~
kassor =
& Nbsp; lp: emacsconfig / trunk .emacs.d
& Nbsp; sftp: // somwhere / subversion / trunk .subversion
Vad är nytt i den här versionen:
- Inte använder prov konfigurationsfil som test konfigurationsfil längre. Detta innebär att det finns en mycket trevligare och mer användbar prov konfigurationsfil nu.
- (tack Craig Blaszczyk för hans pull begäran som låg till grund för det här!)
Vad är nytt i version 1.12:
- För bzr, & quot; ut & quot; Kommandot använder exit kod i stället för kommandot utgång nu. Detta är mer tillförlitlig och bekväm. Fix med Jendrik Seipp, tack!
Vad är nytt i version 1.11:
- Tillåt mer än en VCS i en katalog. Detta var redan möjligt innan, men nu känt att du inte längre behöver lista alla kassor i de konkurrerande VCS i ignorera alternativet. Dessutom är objekt som ignoreras i en sektion nu även ignoreras i andra sektioner för samma katalog. Åtgärdar # 11. [Maurits]
Vad är nytt i version 1.10:
- Använda --mine-enda alternativet med bzr saknas bara visa våra utgående change när man kör checkoutmanager s & quot; ut & quot; kommandot för bzr.
- Kopiering prov .cfg fil om den inte finns i stället för att enbart föreslå kopian. Korrigeringar # 12.
- Inkom dold info kommando. Bör vara endast användbar för subversion om din svn programmet uppdateras och ditt operativsystem kräver att du ger svn tillgång till dina lagrade referenser igen, för varje slutförvar. [Maurits]
Vad är nytt i version 1.9:
- Lade kommando som uppgraderar dina subversion kassor till den nya 1,7 uppgradera layout av .svn katalogen. [Maurits]
Vad är nytt i version 1.8:
- Använda git driva --dry-run nu att upptäcka inte -yet-knuffade utgående förändringar med checkoutmanager ut. Fixar # 9 (rapporteras av Maurits van Rees).
Vad är nytt i version 1.7:
- Inkom --configfile alternativet. Användbart när du vill använda checkoutmanager att hantera kassor för något annat än din vanliga utvecklingsprojekt. I praktiken: Jag vill använda den för en "sdistmaker" som arbetar med git .
Vad är nytt i version 1.6:
- Full fix för # 7: checkoutmanager inte stannar på det första felet, men fortsätter. Och det rapporterar alla fel efteråt. Detta hjälper när bara en av dina svn / hg / oavsett servrar är nere. Resten kommer bara fortsätta arbeta li>
- Partiell fix för # 7:. Svn upp körs med --non-interaktiv nu, så konflikt fel fel redovisas istället för ganska mycket tyst väntar på interaktiv inmatning som aldrig kommer att komma
Vad är nytt i version 1.5:
- Använda utom CommandError, e istället för undantag CommandError som e för python2.4 kompatibilitet.
Krav :
- Python
Kommentarer hittades inte