blob: 5c53a7fcdc110c33874e7186a5643c5e3419c0d4 [file] [log] [blame]
Zesstra16b2a152020-04-12 12:40:29 +02001Upload via Gerrit
2*****************
3
4Zunaechst sei einmal auf die Manpage Git workflow verwiesen.
5
6
7Upload / Push ohne Review
8=========================
9
10Ihr folgt dem Git workflow einfach vollstaendig. Eure Aenderungen
11werden direkt in die aktive Mudlib uebertragen.
12
13
14Upload / Push mit Review
15========================
16
17Folgt dem Git workflow bis Schritt 4 (einschliesslich). Ab dort gehts
18wie folgt weiter:
19
Zesstrae959e722025-07-09 22:11:16 +020020 5. Pusht eure Aenderungen zum Review nach Gerrit: "git push origin
21 lokalerbranch:refs/for/master" Damit werden eure Aenderungen des
22 Zweigs lokalerbranch in den Review fuer den master-Zweig im MG
23 uebertragen. Fuer jeden Commit wird ein Change in Gerrit
24 erzeugt. Ihr bekommt in der Ausgabe auch die URL zum Change, den
25 ihr erzeugt habt. Anschliessend tragt ihr entweder dort auf der
26 Weboberflaeche einen oder mehrere Reviewer ein oder redet mit
27 denjenigen im Mud.
Zesstra16b2a152020-04-12 12:40:29 +020028
29 6. Die Reviewerin hat oft Wuensche, d.h. ihr muesste den Change
30 nochmal ueberarbeiten. Dazu gibt es zwei Moeglichkeiten:
31
Zesstrae959e722025-07-09 22:11:16 +020032 1. Ihr aendert auf der Weboberflaeche selber ("Edit" und spaeter
33 dann "Publish Edit"
Zesstra16b2a152020-04-12 12:40:29 +020034
35 2. Wollt ihr bei euch lokal auf dem Rechner nur einen (den
36 letzten Commit in eurem lokalen Zweig) aendern geht das am
37 besten mit "git commit --amend". Spaetestens nach dieser
38 Aenderungen **muss** in der Commit-Message die sog. Change-ID
39 aus Gerrit als *letzte Zeile* und mit einer Leerzeile
40 getrennt auftauchen, z.B. "Change-Id:
41 Ie8fe15834a0eb3917318dc291b97a28e34b85b75". Anschliessend
42 koennt ihr wie in Schritt 4. erneut pushen und der Change in
43 Gerrit wird aktualisiert.
44
45 3. Wollt ihr mehrere Commits bei euch lokal auf dem Rechner
46 aendern, muesst in eurem lokalen Zweig ein sog. interaktives
47 rebase machen und in diesem dann eure Commits editieren.
48 Wechselt in euren lokalen Zweig und benutzt "git rebase -i
49 master" (dies bedeutet "setze diesen Zweig neu auf den master
50 auf und lass mich dabei Aenderungen vornehmen"). Spaetestens
51 hierbei **muss** in allen Commit-Messages die zu diesem
52 Commit passende Change-ID aus Gerrit als *letzte Zeile* und
53 mit einer Leerzeile getrennt auftauchen. Anschliessend koennt
54 ihr wie in Schritt 4. erneut pushen und alle Changes in
55 Gerrit werden aktualisiert.
56
57 7. Wenn die Reviewerin zufrieden ist, wird sie den Change in den
58 Zweig 'master' mergen und er landet damit im MG.
59
60
Zesstraae0628b2025-07-26 13:25:46 +020061Editieren per Web-GUI
62=====================
63
64In gerrit kann man auch in der Web-GUI editieren:
65Repo auswaehlen -> Commands -> Create Change
66
67
68Upload / Push aus der Shell (fuer Erzmagier+)
69=============================================
70
71* Hat man auf der Shell was in den regionen (!= Public Lib) geaendert,
72 kann man
73 ~/scripts/gerrit-sac <dir> <msg>
74 zum Commit nutzen.
75* Hat man auf der Shell in der Public Lib was gemacht:
76 [git pull] ; git add; git commit; git push.
77
78
Zesstra16b2a152020-04-12 12:40:29 +020079Weitere Infos
80=============
81
82Es gibt noch viele weitere Informationen, wie man Aenderungen in
83Gerrit bekommt (z.B. kann man direkt mit dem ersten Push automatisiert
84Reviewer fuer alle Changes festlegen, Topics und Hashtags zur
85Kategorisierung verwenden). Es ist empfehlenswert, in die Doku von
86Gerrit zu schauen:
87
88 * https://mg.mud.de/gerrit/Documentation/user-upload.html
89
90 * https://mg.mud.de/gerrit/Documentation/user-
91 upload.html#push_create
92
93 * https://mg.mud.de/gerrit/Documentation/user-
94 upload.html#push_replace
95
96Mehr Informationen ueber die Change-ID bekommt ihr hier:
97https://mg.mud.de/gerrit/Documentation/user-changeid.html
98
99Ihr koennt git auch beibringen, dass in alle eure Commit-Messages die
100sog. Change-ID automatisch ergaenzt wird, in dem ihr einen 'commit-
101msg' hook aus Gerrit in euerem Repository installiert: "scp -p -P
10229418 <user>@mg.mud.de:hooks/commit-msg .git/hooks/" Details bekommt
103ihr hier: https://mg.mud.de/gerrit/Documentation/user-
104changeid.html#creation
105
106Die Doku geht auch auf haeufige Taetigkeiten im Zusammenhang mit dem
107Upload von Aenderungen ein: https://mg.mud.de/gerrit/Documentation
108/user-changeid.html#_git_tasks
109
110
111Siehe auch
112==========
113
114 * gerrit
115
116 * Doku von Gerrit:
117
118 * https://mg.mud.de/gerrit/Documentation/intro-user.html
119
120 * https://mg.mud.de/gerrit/Documentation/index.html#_tutorials
121
122 * git-howto: Wie git benutzt wird
123
124 * git-workflow: Wie man sinnvoll vorgehen kann beim Entwickeln
125
126 * git-kooperation: Ein ueber git-workflow hinausgehendes Beispiel
127 zur Synchronisation bzw Kooperation mehrerer Magier/Rechner
128
129 * gerrit-sync: Wie die Synchronisierung zw. git-Repos und Mudlib
130 ablaeuft
131
132 * git-faq: haeufig gestellte Fragen/Probleme