tvxV tomhle ti SVN moc nepomůže. SVN má jeden obrovský problém, nepodporuje sdílení zdrojů. Když nakopíruju jeden soubor do tří složek, tak je prostě nakopíruju a jsou to tři soubory. Linuxáci to neřešej, pro ně to řeší OS, takže se to dělá tak, že soubory leží ve čtvrtém adresáři a do těch tří se nalinkují jako symbolické linky. Z hlediska správy repozitáře nesystémové... ale co dělat, svn je prostě zdarma.
Verzovací system typu svn je velice primitivní. Je třeba jen dbát na to, abys měl všechno v repozitáři. Dále se odprostit od klasického "diskového" přístupu a přijmout fakt, že vyrobit kopii celého stromu neznamená v SVN fyzické kopírování souborů, ale jen vytvoření adresáře, který ukazuje na stejné soubory a podadresáře (a právě že ukazuje jen staticky podle čísla revize, sdílení jako takové je nemožné).
Jinak je dobré si organizovat repozitář tak jak doporučují tvůrci. Mít branches, trunk, tags. V trunku mít aktuální stav zdrojáků, v branches si vyvíjet alternativní cesty a do tags dávat uzavřené stavy projektu (projektů). Typicky, dokončíš-li vývoj nějaké verze, vyrobit její kopii v tags/číslo_verze
Seznam používal do nedávna organizaci, kdy měl v trunk jeden velký projekt představující "Seznam Fulltext" a v tom měl hromady zdrojáků bez ladu a skladu tak jak se to hodilo. Protože to byl obrovský bordel (důsledek přechodu ze CVS na SVN), během roku 2008 se to přeorganizovalo. Nyní máme v trunk adresáře, kde každý adresář je jedena komponenta obsahující vše co potřebuje ke svému plnohodnotného sestavení.
Ještě existuje jedna varianta, a to je projektová organizace, kde repozitář nejprve obsahuje projekty, a pak každý projekt obsahuje branches, trunk, tags. Sám nevím, co je lepší. |