A problémám a következő:
Adott több project (most 3, de növekszik). A kód 90%-a mindegyiknél azonos. Hogyan lehet azt megcsinálni ha egyikben dolgozok és a közös kódrészben történik változás akkor az mindegyikben megjelenjen.
Valahogy úgy képzelném el, hogy van A, B, C repo amiben csak az eltérő file-ok vannak és valamiféle háttér repóból be-include-olja a közös részt. Lehet ilyet csinálni?
Eddig svn-ben dolgozgattam, de bármire váltok, ha szükséges.
Szerkesztve:
A kód közös része teljesen, az egyedi részei pedig nagyrészt PHP filek, kisrészt mindenféle script, és néhány binary data file.
- 2063 megtekintés
Hozzászólások
Csinálhatsz egy al-projektet, aminek a 'kimenete' egy olyan library/dll/sharedlib/include_elem/etc (nem írtál semmit a platformról), amit minden főprojekt felhasznál.
- A hozzászóláshoz be kell jelentkezni
Ahogy mar irtak, megoszthatod a "lebuildelt" artifactot. Masik lehetoseg git es submodules.
----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"
--> YouTube csatornám
- A hozzászóláshoz be kell jelentkezni
Ez alapvetően nem verziókezeléssel oldható meg, hanem build módszer és projekt struktúra kérdése.
Ami közös kód, azt szervezd egy külön projektbe (utils, commons, stb), külön fordítsd le és binárisan hivatkozz rá. Ha Maven (vagy Gradle) a build rendszer, akkor ez adja magát, de Ant esetén is megoldható...
...hm... PHP... szerintem ott is megoldható, hogy egy build folyamat végén egy merge van. :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
- A hozzászóláshoz be kell jelentkezni
A 'git' támogatja a submodule-okat, tehát repon belül lehet másik (akár több) repo.
http://git-scm.com/book/en/v2/Git-Tools-Submodules
Még clone-ozni is le-lehet így all-in-one, a --recursive opcióval, pl.: git clone --recursive git@host:your-repo
- A hozzászóláshoz be kell jelentkezni
Az svn meg tud externals-okat, bár ehhez úgy kell szervezni a kódot, azaz a közös részek külön könyvtárban/modulban/libben legyenek.
Persze lehet hogy ennek is van hátulütője, én csak bash scriptek/libek kordában tartásához használom az svn-t.
- A hozzászóláshoz be kell jelentkezni