84 | | Als je een nieuw pakketje gemaakt hebt moet je deze directory markeren als toegevoegd: |
85 | | {{{ |
86 | | root@builder:/home/psy/syn3# svn add npl/internetserver/ebtables |
87 | | A npl/internetserver/ebtables |
88 | | A npl/internetserver/ebtables/ebtables.pkg |
89 | | A npl/internetserver/ebtables/ebtables.version |
90 | | A npl/internetserver/ebtables/ebtables.md5 |
91 | | A npl/internetserver/ebtables/ebtables-v2.0.8-1.tar.gz |
92 | | A npl/internetserver/ebtables/ebtables.SlackBuild |
93 | | A npl/internetserver/ebtables/ebtables.arch |
94 | | }}} |
95 | | |
96 | | Dit gebeurd alleen lokaal, pas bij het committen (zie verderop) word de data ook naar de centrale server gestuurd. |
97 | | |
98 | | == svn status controleren == |
99 | | |
100 | | Om te zien of het updaten goed gegaan is en om te zien of je wijzigingen gemaakt hebt gebruik je svn status. Dit commando laat de '''locale''' status van je tree zien en doet dus niks met de server: |
101 | | |
102 | | {{{ |
103 | | root@builder:/home/psy/syn3# svn status |
104 | | ? test |
105 | | ? npl/bla |
106 | | A npl/internetserver/ebtables |
107 | | A npl/internetserver/ebtables/ebtables.pkg |
108 | | A npl/internetserver/ebtables/ebtables.version |
109 | | A npl/internetserver/ebtables/ebtables.md5 |
110 | | A npl/internetserver/ebtables/ebtables-v2.0.8-1.tar.gz |
111 | | A npl/internetserver/ebtables/ebtables.SlackBuild |
112 | | A npl/internetserver/ebtables/ebtables.arch |
113 | | M npl/mailserver/syncml_openxchange/syncml_openxchange.SlackBuild |
114 | | ... |
115 | | }}} |
| 76 | Om te leren hoe git werkt verwijzen we je naar: https://git-scm.com/book/en/v2 |
133 | | Second column: Modifications of a file's or directory's properties |
134 | | * ' ' no modifications |
135 | | * ''''C' Conflicted''' |
136 | | * 'M' Modified |
137 | | |
138 | | Let er dus op dat je geen conflicten hebt. Als je dit wel hebt is het het handigste om de conflicteren de file en bijbehorden troep weg te halen en nogmaals update te doen. Een andere optie bij tekstfiles is de boel handmatig mergen. |
139 | | |
140 | | == Wijzgingen opslaan op svn server == |
141 | | |
142 | | Hier heb je een account met schrijfrechten voor nodig! |
143 | | |
144 | | Als je een aantal wijzigingen gemaakt hebt moet je deze committen (opslaan), onder volgende voorwaarden: |
145 | | |
146 | | * Het gewijzigde onderdeel moet compleet zijn en het liefst als 1 geheel gecommit worden. (tenzij je een dag werk hebt, dan mag je een backup-commit doen) |
147 | | * Niet meer dan 1 onderdeel of wijziging tegelijk committen, bij iedere wijziging duidelijk commentaar! |
148 | | * Er moet niks stuk gaan waar anderen van afhankelijk zijn. |
149 | | * Nieuwe onderdelen op de juiste plek in de tree adden. (eventueel vragen aan edwin) Verderop vind je een overzicht van de tree indeling. |
150 | | * Indien het een pakket betreft, dit pakket eerst rebuilden alvorens te committen indien mogelijk. |
151 | | |
152 | | Stel we hebben de volgende status: |
153 | | {{{ |
154 | | root@builder:/home/psy/syn3/npl/internetserver# svn status |
155 | | A ebtables |
156 | | A ebtables/ebtables.pkg |
157 | | A ebtables/ebtables.version |
158 | | A ebtables/ebtables.md5 |
159 | | A ebtables/ebtables-v2.0.8-1.tar.gz |
160 | | A ebtables/ebtables.SlackBuild |
161 | | A ebtables/ebtables.arch |
162 | | A arptables |
163 | | A arptables/arptables.version |
164 | | A arptables/arptables.md5 |
165 | | A arptables/arptables-v0.0.3-2.tar.gz |
166 | | A arptables/arptables.SlackBuild |
167 | | A arptables/arptables.arch |
168 | | A arptables/arptables.pkg |
169 | | }}} |
170 | | Zo te zien heb ik 2 nieuwe pakketjes gemaakt, er zijn dus 2 commits nodig: |
171 | | {{{ |
172 | | root@builder:/home/psy/syn3/npl/internetserver# cd ebtables/ |
173 | | root@builder:/home/psy/syn3/npl/internetserver/ebtables# svn commit -m 'nieuwe pakketje, nodig voor ethernet bridging en firewalling' |
174 | | Adding ebtables |
175 | | Adding (bin) ebtables/ebtables-v2.0.8-1.tar.gz |
176 | | Adding ebtables/ebtables.SlackBuild |
177 | | Adding ebtables/ebtables.arch |
178 | | Adding ebtables/ebtables.md5 |
179 | | Adding (bin) ebtables/ebtables.pkg |
180 | | Adding ebtables/ebtables.version |
181 | | Transmitting file data ...... |
182 | | Committed revision 3422. |
183 | | root@builder:/home/psy/syn3/npl/internetserver/ebtables# cd ../arptables/ |
184 | | root@builder:/home/psy/syn3/npl/internetserver/arptables# svn commit -m 'nieuw pakketje, nodig voor firewalling van arp pakketjes' |
185 | | Adding arptables |
186 | | Adding (bin) arptables/arptables-v0.0.3-2.tar.gz |
187 | | Adding arptables/arptables.SlackBuild |
188 | | Adding arptables/arptables.arch |
189 | | Adding arptables/arptables.md5 |
190 | | Adding (bin) arptables/arptables.pkg |
191 | | Adding arptables/arptables.version |
192 | | Transmitting file data ...... |
193 | | Committed revision 3423. |
194 | | root@builder:/home/psy/syn3/npl/internetserver/arptables# |
195 | | }}} |
196 | | |
197 | | '''Let op:''' Als je eenmaal iets commit, kan dit nooit meer uit de history verwijderd worden. File en directorys kun je wel uit de tree verwijderen, maar ze blijven uiteraard bestaan in de oude revisie. |
198 | | |
199 | | === Wijzigingen opslaan terwijl je geen rechten hebt === |
200 | | |
201 | | Als je geen schrijfrechten hebt in de syn3 tree, kun je je wijzigingen op de volgende manier opslaan in een patch file: |
202 | | {{{ |
203 | | psy /home/psy/syn3/npl # svn diff > bugfix-ldap.patch |
204 | | }}} |
205 | | |
206 | | Deze file kun je opsturen naar info@datux.nl, waarna hij gereviewed word en eventueel in de tree opgenomen word. Binary files worden niet meegenomen in een diff, daarom is het altijd van belang de orginele url mee naar de sourcefiles mee te sturen! |
207 | | |
208 | | = Branches maken = |
209 | | |
210 | | Soms kan het handig zijn een zogenaamde ''branch'' te maken. |
211 | | |
212 | | Dit betekend dat je een bepaalde directory naar een appart deel op de SVN server kopieerd. Op deze manier kun je langere tijd aan grote wijzigingen werken, zonder dat mensen daar last van hebben. |
213 | | |
214 | | == Een nieuwe branch starten. == |
215 | | |
216 | | Stel je bent al een tijdje bezig en je hebt nog niet gecommit. En je denkt: Ik wil dit niet comitten in de hoofd tree (trunk) want dan heeft iedereen last van mijn wijzigingen: |
217 | | {{{ |
218 | | psy /home/psy/syn3/install # svn status |
219 | | M meebezig |
220 | | }}} |
221 | | |
222 | | Kopieer de huidige versie, inclusief wijzigingen naar een branch: |
223 | | {{{ |
224 | | psy /home/psy/syn3/install # svn copy . https://tracy.datux.nl/syn3/svndav/syn3/branches/installer-edwin |
225 | | |
226 | | Committed revision 4292. |
227 | | }}} |
228 | | |
229 | | Nu is er een nieuwe installer branch gemaakt op de SVN server. Om nu te zorgen dat je huidige werkdir aan die branch 'gekoppeld zit': |
230 | | {{{ |
231 | | psy /home/psy/syn3/install # svn switch https://tracy.datux.nl/syn3/svndav/syn3/branches/installer-edwin |
232 | | G meebezig |
233 | | Updated to revision 4292. |
234 | | psy /home/psy/syn3/install # svn status |
235 | | psy /home/psy/syn3/install # |
236 | | }}} |
237 | | |
238 | | Nu is in jou werk directory alleen /home/psy/syn3/install gekoppeld aan de branch. De rest van je tree zit nog gewoon aan trunk: |
239 | | {{{ |
240 | | psy /home/psy/syn3/install # svn info |
241 | | Path: . |
242 | | URL: https://tracy.datux.nl/syn3/svndav/syn3/branches/installer-edwin |
243 | | Repository Root: https://tracy.datux.nl/syn3/svndav/syn3 |
244 | | Repository UUID: 32fb8cd9-e6f8-0310-8218-8ae0250c70fb |
245 | | Revision: 4292 |
246 | | Node Kind: directory |
247 | | Schedule: normal |
248 | | Last Changed Author: edwin |
249 | | Last Changed Rev: 4292 |
250 | | Last Changed Date: 2008-11-06 10:31:18 +0100 (Thu, 06 Nov 2008) |
251 | | |
252 | | psy /home/psy/syn3/install # cd .. |
253 | | psy /home/psy/syn3 # svn info |
254 | | Path: . |
255 | | URL: https://tracy.datux.nl/syn3/svndav/syn3/trunk |
256 | | Repository Root: https://tracy.datux.nl/syn3/svndav/syn3 |
257 | | Repository UUID: 32fb8cd9-e6f8-0310-8218-8ae0250c70fb |
258 | | Revision: 4287 |
259 | | Node Kind: directory |
260 | | Schedule: normal |
261 | | Last Changed Author: edwin |
262 | | Last Changed Rev: 4285 |
263 | | Last Changed Date: 2008-11-03 00:53:54 +0100 (Mon, 03 Nov 2008) |
264 | | }}} |
265 | | |
266 | | Zodra alle commits komen nu dus in je eigen branch, en niemand heeft hier last van. |
267 | | |
268 | | == Terug switchen naar trunk == |
269 | | |
270 | | Dit kan zo: |
271 | | {{{ |
272 | | psy /home/psy/syn3/install # svn switch https://tracy.datux.nl/syn3/svndav/syn3/trunk/install |
273 | | U meebezig |
274 | | Updated to revision 4292. |
275 | | }}} |
276 | | |
277 | | Een switch doet ook meteen een svn update zoals je ziet. Als je nu in de file 'meebezig' kijkt, zie je de trunk versie en niet je eigen branch. |
278 | | |
279 | | Op deze manier kan je snel en makkelijk heen en weer switchen tussen trunk en je eigen branch. |
280 | | |
281 | | == Je branch terug mergen in trunk == |
282 | | |
283 | | Als je branch zo ver is dat je de wijzigingen in trunk wilt mergen, switch je eerst terug naar trunk en tik je het volgende: |
284 | | {{{ |
285 | | psy /home/psy/syn3/install # svn merge https://tracy.datux.nl/syn3/svndav/syn3/branches/installer-edwin |
286 | | --- Merging r4288 through r4292 into '.': |
287 | | U meebezig |
288 | | psy /home/psy/syn3/install # svn status |
289 | | M . |
290 | | M meebezig |
291 | | }}} |
292 | | |
293 | | Nu zijn de wijzigingen in je werk directory gemerged. Je kan controleren of de merge goed gegaan is en dan een svn commit doen als alles klopt. |
294 | | |
295 | | Je kan ook de nieuwste wijzigingen in de trunk naar jou branch mergen, op dezelfde manier. Switch dan eerst naar je branch en merge de trunk. |
296 | | |
297 | | |
298 | | == Huidige grote branches == |
299 | | |
300 | | * Open syn-3 versie 5.x research en development: http://open.syn3.nl/syn3/trac/default/browser/branches/5.x |
301 | | |
302 | | = Meer info = |
303 | | |
304 | | Voor meer info zie over de indeling van de source tree zie SynTree. |
305 | | Voor meer info over Syn-3 packets bouwen zie: SynPackaging |