Tag Archives: git

git merge development

Nakupi se dosta izmena na razvojnoj grani pa se uvek štrecnem kada to treba spojiti u master i izbildovati produkciju 🙂 Uglavnom je prošlo bez problema. Dve Artisan komande nisu radile kako treba i to zbog nekonzistentnosti podataka u produkcionim bazama što je bilo lako rešivo i nije uticalo na funkcionisanje sistema. Jedan jedini problem je bio kod registracije novih korisnika ali i to smo brzo zakrpili.

BFG Repo-Cleaner

Imamo jedan projekat čiji Git repozitorijum prelazi gigabajt. Nije da smo pisali toliko koda nego je neko u prošlosti pušovao damp baze i to u nekoliko verzija. Gledao sam malo na Internetu kako da izbacim te fajlove iz istorijata i naišao na alat BFG Repo-Cleaner. Ono što sam prvo uradio jeste da identifikujem nazive tih velikih fajlova. Ako kucam

git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5

dobijem nešto poput ovoga:

3b1c5bc5725a2c302c9f06880726b991888a70fd blob 131598074 131430037 2092808
063ea9501a3625043a430725f620c758e1c67263 blob 330905163 328218933 159853443
8305b7eade1bc8c5d0dcf12894ac8f7638739f49 blob 450726283 89486474 647119907
da4a5945f8437f5ffd247361afdbec339ab465d2 blob 822692719 149407372 497712358
b1c863c988710c6b1f521a71f75989072c4b8304 blob 2035593154 330974303 758214655

Da bih dobio nazive fajlova mogu da otkucam

git rev-list --objects --all | grep 8305b7eade1bc8c5d0dcf12894ac8f7638739f49
8305b7eade1bc8c5d0dcf12894ac8f7638739f49 dump.sql

Sada mogu da pristupim čišćenju repozitorijuma. Prvo ću da ga kloniram na novo mesto:

git clone --mirror git@gitlab.com:path/to/project.git

Onda pokrećem BFG i čistim repozitorijum:

java -jar bfg-1.14.0.jar --delete-files dump.sql project.git
cd project.git
git reflog expire --expire=now --all && git gc --prune=now --aggressive

Na kraju ću da ga pušujem kao novi repozitorijum dok se ne uverim da sve radi kako treba:

git remote rename origin old-origin
git remote add origin git@gitlab.com:path/to/project-cleaned.git
git push --set-upstream origin --all
git push --set-upstream origin --tags

Arch AUR

Napravio sam svoj prvi paket za Arč Linuks 🙂 U pitanju je program cutmp3 koji sam nekada davno koristio za seckanje empetrojki a fora je u tome što se sve to radi bez ponovnog enkodovanja fajla pa nema gubitka u kvalitetu zvuka. Onda sam juče hteo da odsečem deo jedne pesme, setio se programa koji nisam koristio ne pamtim od kada pa se začudio kako nemam taj program instaliran a još više se iznenadio kada ga nisam našao ni na zvaničnom repozitorijumu ni na AUR-u. Onda sam rešio da se pozabavim tematikom, malo se pomučio sa SSH ključevima ali sam na kraju uspeo.

aur-cutmp3

Sve sam opisao u svojim beleškama.

Statistika live!

Nakon šest godina rada na projektu i preko 160 hiljada linija koda, Statistika je prešla sa dev servera na live 🙂 Dobili smo i Git repozitorijum a od ponedeljka krećem da obučavam koleginicu kako da koristi Git i Điru, piše objektno orijentisan kod, testira i, sve u svemu, doprinosi daljem razvoju projekta.golive logo 18+

Github

Forkovali smo prvi projekat na Github-u, malo vežbali Git i usput prčkali po kodu 🙂 Uglavnom sam ispravljao kod kako bi aplikacija nesmetano radila na glibavom Beotel hostingu ali se nosim mišlju da pokušam da napravim i nešto konkretno i opšte korisno tipa novi feature ili temu ili tako nešto… Videćemo kako nam slobodno vreme bude dozvolilo.

fork