Optimális munkamenet kialakítása git-tel [megoldás körvonalazódik]

Úgy esett, hogy egy viszonylag hosszú jelentés megírását és szerkesztését kell elvégeznem mások közreműködésével. Hosszabb szövegek többszerzős szerkesztésének "bevált" módja eddig a bekapcsolt változás-követéssel ellátott Word fájlok emailben küldözgetése volt, aminél rosszabb, idegesítőbb, hibalehetőségekkel terheltebb módszert azt hiszem, nem lehet találni.

Adja magát a LaTeX, mint - technikai szempontból legalábbis - alkalmas megoldás, gittel mint verziókövető eszközzel. Ezt a kombinációt korábbi egyszemélyes projektjeimben már használtam.

De mi lehet az a munkamenet, amivel ezt a két eszközt a legkevesebb fájdalommal a munkatársaimra tudom erőltetni?

Adott X, aki a LaTeX-hez ért, a githez még nem, de hajlandó megtanulni (és képes is rá); továbbá adott Y, aki egyikhez sem, a LaTeX alapjait valószínűleg meg tudjuk neki tanítani, de a git esélytelennek látszik (hacsak nincs valami egyklikkes grafikus eszköz, amivel a legalapvetőbb funkciók automatizálhatók).

További bonyolítás, hogy a történet három szereplője három különböző operációs rendszert használ. (Van még, aki ezen a ponton még nem röhög?)

Amire gondoltam:

- egyszerűen megosztom Sambán az én gépemen lévő munkakönyvtárat, mindenki abban turkál, én pedig commitolom a változásokat, ha épp eszembe jut. (Előny: triviális kialakítani ezt a felosztást, mindenki tudja használni; Hátrány: káosz, elvesztem a verziókezelésből származó előnyök jelentős részét)

- az éles munkakönyvtár egy másolatát osztom meg, abban turkálnak, én kézzel mergelek. (Előny: lásd előbb; hátrány: káosz és még mindig sok figyelmet igényel a részemről)

- adok egy-egy azonosítót a gépemen X, Y-nek, ssh-val bejelentkeznek, dolgoznak a munkakönyvtáramban (hátrány: problémás egyszerre szerkeszteni ugyanazt a fájlt, Y nem fog boldogulni az ssh-val)

- X és Y is klónozza a repót, mindenki a sajátjában dolgozik, bundle-öket vagy patcheket küldözgetünk egymásnak, mindenki mergel és branchel magának (ez már közelebb van a nagykönyvben megírt munkamenethez, de az emailben küldözgetéssel nem vagyunk sokkal beljebb a kiindulásnál elvetett Word-ös nyűglődésnél)

- mint az előző, de ssh-n keresztül pull-olunk egymástól (ha jól tudom, lehet olyat, hogy git pull ssh://192.168.x.z/path/to/repo) (technikai szempontból talán ez lenne a legjobb, de sokat feltételez a résztvevőktől, főleg Y-től)

- létrehozok egy online tárolót a gépemen gitosissal vagy mással, onnan klónoz mindenki és oda push-ol vissza (ahogy olvastam, ez sok vesződséggel jár és a mi esetünkben talán felesleges is)

A github, Google Docs és hasonló megoldások nem jönnek szóba, nem akarom harmadik féllel megosztani a dokumentumot.

A fentieket figyelembe véve milyen tanácsot tudtok azon kívül adni, hogy "fuss el és ne nézz vissza"?

Hozzászólások

Szerintem tedd ki samba megosztasra a bare repot, abba mindenki tud pusholni ssh, gitosis, stb nelkul. Y meg felteheti a gitk/gitgui-t ahol egyszeruen osszeklikkelgetheti maganak a commitot.

Válaszolok magamnak:

elsőként a smbmount-ra gondoltam, de ahhoz rootnak kell lenni.

Ha a GUI-n keresztül csatolom fel a megosztást, ahhoz viszont már nem kell rootnak lenni, már csak az a kérdés, hogy hova és hogyan csatolja.

$ mount
...
gvfs-fuse-daemon on /home/kikuchiyo/.gvfs ...

Ennek a könyvtárnak a tartalma:

$ ls /home/kikuchiyo/.gvfs
public\ on\ masik_gep/

Innen már könnyű:

$ git clone /home/kikuchiyo/.gvfs/git-project/.git

Git-hez a legjobb GUI, amit én találtam az a SmartGit (most hirtelen nem találom, de úhy emlékszem, hogy csak non-profit munkára ingyenes.)

Udv,
tudom, hogy nem ezt kerdezted :) de talan erdemes megnezned az opengoo-t: http://www.fengoffice.com/web/index.php?lang=en
Igy nem kellene harmadik fellel megosztanod a doksikat, es tud offline szerkesztett doksiknal is revisiont/check-out/check-int kezelni, bar nyilvan messze nem nyujt olyan szofisztikalt verziokovetest mint a git.

A gitosis vagy gitolite azért nem jár olyan nagy vesződséggel. Mondhatni percek alatt belőhető :)