gitben kulso lib fejlesztes

Fórumok

Udv!

Adott egy program amit gitben fejlesztunk. Tobb okbol ugy all a dolog, hogy tobb kulso library kodjat is a sajat gitfankban kovetjuk, ugyanabban mint a sajat progit. Ezek a libek az eredeti fejlesztonel nincsenek gitben. Altalaban a libekhez nem nyulunk, de most ez a helyet lehet valtozni fog es nagy mertekben hosszabb ideig tarto fejlesztesnel szeretnenk hozzajuk nyulni, lehet sikerul visszaadni a kodot is kesobb.
A problemam a branchelessel van, 2 esszeru megoldast latok a ket progi fejlesztesere:

1. kulon branchen a sajat, egy masikon a lib fejlesztese.
Ennek a tisztasag az elonye, konnyu patchet kesziteni, stb...
Viszont allandoan mergeleni(lib agat a programeba), checkoutolgatni(brach valtogatasok) kell. persze ezek nagyon olcso muveletek megis lehet 20x kell csinalni egy nap alatt...
Ezt latom megis a legjobbnak.

2. egy branchen dolgozni es a lib valtozasait kulon commitokban elhelyezni.
Ez talan nem annyira tiszta munka. lehet konnyen patchet kesziteni persze csak a libre, es nincs allando valtogatas es merge.

Szerintetek? Egyeb bevalt metodikak? Velemenyek?

koszi,
Zsolt

Hozzászólások

kulcsszo: submodule.

libet elteszed submodule-ba, az upstream kodot egy upstream branchre, masterre a sajat fejlesztes. igy ha libet hackeled, akkor siman masterre mehet minden, upstream branchez kepest lehet diffelni, esatobbi.

mivel submodule-ban van, igy nem zavar be a sajat progi fejlesztesebe.

ily modon mergelni csak akkor kell ha van uj upstream a libbol, es azt akarod masterre mergelni - de az kulon repoban van, igy a sajat fejlesztesu programod nem zavarja, kb semmi kozuk nincs egymashoz, csak annyi hogy a sajat programnak submodule-ja a lib.

lib + progi egy repoban eleve rossz otlet, nagyon erosen javasolnam hogy felejtsetek el ezt a felallast, csak szivas lesz vele. lehet, hogy most kenyelmesebb rovidtavon, de hosszu tavon nagyon csunya lesz.

koszi, jobban utanna jarok a lehetosegnek. Amikor lattam eloszor, tudtom hogy ez kene de kicsit nehezkesnek tunt, raadasul tobb mas akadalya is van a bevezetesnek. regi, nem menedzselt ubuntukon dolgoznunk, amire nem egy parancs uj gitet telepiteni. a jelenleg hasznalt verzio pedig nem kezeli a submodulokat. :(
zsolt

Ezesetben is kulon repo a libnek, es symlink a sajat program kodjaba (ez lehet, hogy egyszerubb is, mint a submodule, ellenben picit csunyacska. de belso fejleszteshez teljesen jo lehet).

Valahogy igy:

progi/
 lib/
  blahblah -> ../../libs/libblahblah
  foo -> ../../libs/libfoo
  amaj -> ../../libs/libamaj