Koha Croatian user group
git: Revision 11

Git sustav za praćenje promjena koji koristi Koha.

DON'T PANIC!



podaci o korisniku

Da bi vaši commiti imali lijepo ime korisnika, morate prvo konfigurirati git

$ git config --global user.name "Dobrica Pavlinusic"
$ git config --global user.email "dpavlin@rot13.org"

Ovo je potrebno napraviti samo jednom za korisnika i primjenjuje se na svim repozitorijima na istoj mašini.

repozitoriji

Repozitoriji su jednostavno serveri koji nam omogućavaju da na njih šaljemo (push) ili sa njih vučemo (pull) promjene koje su u njima napravljene.

Kako je svaki checkout git-a potpuni repozitorij, svaki od njih može postati javni repozitorij koji može dijeliti promjene.

Upstream Koha development

Checkout (lokalna kopija)

git clone git://git.koha.org/pub/scm/koha.git

FFZG promjene

promjene iz drugog repozitorija

Ako želimo povući promjene iz drugog repozitorija (npr. druge instalacije unutar KOHA CUG-a) trebamo dodati novi remote repozitorij.

Na repozitoriju koji je napravljen od upstream Koha repozitorija, imamo jedan remote repozitorij origin za push i pull:

dpavlin@t61p:/srv/koha$ git remote -v
origin  git://git.koha.org/pub/scm/koha.git (fetch)
origin  git://git.koha.org/pub/scm/koha.git (push)

Sada ćemo dodati repozitorij sa FFZG development-a koristeći običnu ssh konekciju:

dpavlin@t61p:/srv/koha$ git remote add ffzg ssh://koha-dev.rot13.org/srv/koha/
dpavlin@t61p:/srv/koha$ git remote -v
ffzg    ssh://koha-dev.rot13.org/srv/koha/ (fetch)
ffzg    ssh://koha-dev.rot13.org/srv/koha/ (push)
origin  git://git.koha.org/pub/scm/koha.git (fetch)
origin  git://git.koha.org/pub/scm/koha.git (push)

i povući sve promjene lokalno:

dpavlin@t61p:/srv/koha$ git fetch ffzg
remote: Counting objects: 2019, done.
remote: Compressing objects: 100% (1440/1440), done.
remote: Total 1790 (delta 1116), reused 587 (delta 317)
Receiving objects: 100% (1790/1790), 1.40 MiB | 1.12 MiB/s, done.
Resolving deltas: 100% (1116/1116), completed with 67 local objects.
From ssh://koha-dev.rot13.org/srv/koha
 * [new branch]      ffzg       -> ffzg/ffzg
 * [new branch]      ffzg2      -> ffzg/ffzg2
 * [new branch]      koha-lxc   -> ffzg/koha-lxc
 * [new branch]      master     -> ffzg/master
 * [new branch]      origin     -> ffzg/origin
 * [new branch]      rt-390-signatura-zatvorenog-spremista -> ffzg/rt-390-signatura-zatvorenog-spremista
From ssh://koha-dev.rot13.org/srv/koha
 * [new tag]         ffzg       -> ffzg

branches

Branches su mjesta na kojima se povjest promjena grana u dva dijela. Jedan je development koji rade upstream developeri Kohe, a drugi su naše lokalne promjene za nešto.

Nakon nekog vremena, potrebno je dva branch-a spojiti u jedan da bi preuzeli promjene. gitk nam može pokazati to kao stablo:

git-branch-merge.png

Promjene se mogu preuzeti (merge) iz jednog branch-a u drugi.

imenovanje

Branches nisu ništa drugo nego ime za svaku točku i kojoj se razvoj dijeli u dva toka.

Dobri nazivi za branch:

  • DNS hostname produkcijske ili develpment mašine na kojoj je branch checkoutan
  • veza na bug tracking (prefix-broj-kratak-opis)

pregled

dpavlin@t61p:/srv/koha$ git branch -a
* master
  remotes/ffzg/ffzg
  remotes/ffzg/ffzg2
  remotes/ffzg/koha-lxc
  remotes/ffzg/master
  remotes/ffzg/origin
  remotes/ffzg/rt-390-signatura-zatvorenog-spremista
  remotes/origin/3.0.x
  remotes/origin/HEAD -> origin/master
  remotes/origin/biblibre-acq-preview-only
  remotes/origin/biblibre-integration
  remotes/origin/biblibre-sopac
  remotes/origin/labels_recon
  remotes/origin/master
  remotes/origin/rfid-direct-tagging
  remotes/origin/sysprefs_editor

kreiranje

Pretpostavimo da želimo kreirati branch za instalaciju na koha.ffzg.hr:

dpavlin@t61p:/srv/koha$ git checkout -b koha.ffzg.hr remotes/ffzg/ffzg2
Branch koha.ffzg.hr set up to track remote branch ffzg2 from ffzg.
Switched to a new branch 'koha.ffzg.hr'

slanje promjena

Koha prima patcheve preko koha-patches liste

kreiranje patch-a

git format-patch

Više informacija