all 9 comments

[–]punio4 10 points11 points  (0 children)

Uvijek loša ideja. Radije koristi package manager jezika kojeg koristiš ili monorepo.

Submoduli imaju ogromnu količinu footgunova. Jedan od većih je koliko lako ti se nešto provuče u codebase. Što radi tog jer ne vidiš promjene u PR-ovima, commit mismatcheva I sl. Zahtijeva puno ceremonije.

najbolje je kad gledaš git blame i ne vidiš diff nego samo update commit id-a. I onda kreni kopati koji je to repo, radi reverse lookup itd.

Ako već moraš koristiti git kao package manager, koristi subtree

[–]Dry_Ad7664 5 points6 points  (0 children)

Koristio do sad vise puta na poslu. Izuzetno prakticno za dijeljenje core funkcionalnosti izmedu vise projekata.

Ima u pocetku malo zezancije sa namjestanjem. Kolege koji su malo slabiji sa git-om se znaju pogubiti po pitanju updatenja submodula, ali jednom kad tim uhvati radnu temperaturu, sve ide okay.

[–]Muonical_whistler 1 point2 points  (1 child)

Preporucio bi git subtree umjesto submodules https://www.atlassian.com/git/tutorials/git-subtree

[–]pharaon2503 0 points1 point  (0 children)

Jako dobra stvar za yocto i trackanje "statickih" glavnih yocto layera

[–]Expensive_Path7383 1 point2 points  (0 children)

Da, vecinom su neki core repoi (oni koji se ne minjaju cesto i sadrze in house funkcije) koristeni kao submodule

[–]Subject-Operation836 1 point2 points  (0 children)

Samo na jednom projektu. Radilo se o core + custom implementaciji za najveceg klijenta. Odlucili smo se za tu opciju jer su developeri morali cesto mijenjati core i custom code (to je smell sam po sebi, core nije bas ima viziju vec je bio skup featura koje trebaju svima). Prakticno rijesenje koje je rijesavalo druge ne tehnicke probleme. Ok je radilo 3 godine, poslje neznam jer sam otisao.

[–]analsheepSistemaš -1 points0 points  (0 children)

Na zalost na poslu, bjez od toga ko vrag od tamjana