aboutsummaryrefslogtreecommitdiffstats
path: root/danish/devel/website/using_git.wml
blob: 48450da8bbd32a7cf46804772e1e1e5c3358bb66 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
#use wml::debian::template title="Brug af Git til at håndtere webstedets kildekode"
#use wml::debian::translation-check translation="74a4415fa07f5810685f1d0568bf4b695cc931b3"

<h2>Introduktion</h2>

<p>Git er et <a href="https://da.wikipedia.org/wiki/Versionsstyring">\
versionsstyringssystem</a>, som hjælper med at håndtere, at der er mange 
personer, der på samme tid arbejder på det samme materiale.  Enhver bruger kan 
have en lokal kopi af et hovedarkiv.  De lokale kopier kan være på den samme 
maskine eller et helt andet sted i verden.  Brugerne kan dernæst ændre deres 
lokale kopi, som de ønsker, og når det ændrede materiale er parat, commit'es 
ændringerne og push'es (skubbes) tilbage til hovedarkivet.</p>

<p>Git tillader ikke at man push'er en commit direkte, hvis fjernarkivet 
indeholder nyere commits (ændringer), end man har i sin lokale kopi i den samme 
branch (forgrening).  I sådanne tilfælde hvor konflikter kan opstå, skal man 
først hente ændringerne og opdatere sin lokale kopi, og dernæst efter behov 
<code>rebase</code> sine nye ændringer oven på den seneste commit.</p>


<h3><a name="write-access">Skriveadgang til Git</a></h3>

<p>Hele Debians websteds kildekode håndteres i Git, på adressen 
<url https://salsa.debian.org/webmaster-team/webwml/>.  Som standard har gæster 
ikke tilladelse til at push'e commit ind i kildekodearkivet.  For at få 
skriveadgang til arkivet, skal man have tildelt rettighed dertil.</p>


<h4><a name="write-access-unlimited">Ubegrænset skriveadgang</a></h4>

<p>Hvis du har brug for ubegrænset skriveadgang til arkivet (fx hvis du er ved 
at blive en hyppig bidragyder), så overvej at bede om skriveadgang gennem 
webbrugerfladen på 
<url https://salsa.debian.org/webmaster-team/webwml/>, efter du har logget på 
Debians Salsa-platform.  Hvis udvikling af Debians websted er nyt for dig, og du 
ikke har tidligere erfaring, så send også en mail til 
<a href="mailto:debian-www@lists.debian.org">debian-www@lists.debian.org</a> 
med en introduktion af dig selv, før du beder om ubegrænset adgang.  Skriv noget 
nyttigt i din introduktion, så som hvilket sprog eller hvilken del af webstedet, 
du planlægger at arbejde på, og hvem der kan stå inde for dig.</p>


<h4><a name="write-access-via-merge-request">Skrivning til arkivet gennem Merge Requests</a></h4>

<p>Hvis du ikke har i sinde at få ubegrænset skriveadgang til arkivet eller ikke 
er i stand til at få det, kan du altid indsende en Merge Request og lade andre 
udviklere gennemgå og acceptere dit arbejde.  Indsend Merge Requests jævnfør den 
almindelige procedure, som stilles til rådighed af Salsa GitLab-platformen 
gennem dens webgrænseflade (læs
<a href="https://docs.gitlab.com/ee/user/project/repository/forking_workflow.html">\
Project forking workflow</a> og
<a href="https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html#when-you-work-in-a-fork">\
When you work in a fork</a> for flere oplysninger).</p>

<p>Ikke alle webstedets udviklere holder øje med Merge Requests, hvorfor der kan 
gå et stykke tid, før der sker noget.  Hvis du er usikker på om dit bidrag kan 
accepteres, så send en mail på engelsk til postlisten 
<a href="https://lists.debian.org/debian-www/">debian-www</a>, og bed om et 
review.</p>


<h2><a name="work-on-repository">Arbejde i arkivet</a></h2>

<h3><a name="get-local-repo-copy">Få en lokal kopi af arkivet</a></h3>

<p>Først skal du installere Git, for at kunne arbejde med arkivet.  Dernæst 
opsættes din bruger og mailoplysninger på din computer (se Gits generelle 
dokumentation for oplysninger om hvordan dette gøres).  Herefter kan du klone 
arkivet (med andre ord, lave en lokal kopi af det) på to forskellige måder.</p>

<p>Den anbefalede måde at arbejde på webwml, er først at registrere en konto på 
salsa.debian.org, og aktivere adgang til Git via SSH, ved at uploade en 
offentlig SSH-nøgle til din salsakonto.  Se 
<a href="https://salsa.debian.org/help/ssh/README.md">salsas hjælpesider</a> for 
flere oplysninger om hvordan det gøres.  Dernæst kan du klone webwml-arkivet med 
følgende kommando:</p>

<pre>
  git clone git@salsa.debian.org:webmaster-team/webwml.git
</pre>

<p>Hvis du ikke har en salsakonto, er der en alternativ metode til kloning af 
arkivet ved hjælp af HTTPS-protokollen:</p>

<pre>
  git clone https://salsa.debian.org/webmaster-team/webwml.git
</pre>

<p>Det giver dig en lokal kopi af det samme arkiv, men den vil ikke være i stand 
til at push'e ændringer direkte tilbage på denne måde.</p>

<p>Kloning af hele webwml-arkivet kræver, at der hentes omkring 500 megabyte 
data, hvilket kan være et problem for dem, med langsomme eller ustabile 
internetforbindelser.  Du kan i stedet prøve en begrænset kloning med en 
minimal dybde, for i første omgang at overføre færre data:</p>

<pre>
  git clone git@salsa.debian.org:webmaster-team/webwml.git --depth 1
</pre>

<p>Efter at have hentet et brugbart (begrænset) arkiv, kan du fordybe den lokale 
begrænsede kopi, og med tiden konvertere den til et komplet lokalt arkiv:</p>

<pre>
  git fetch --deepen=1000 # fordyb arkivet med yderligere 1000 commits
  git fetch --unshallow   # hent alle manglende commits, konverter arkivet til et komplet arkiv
</pre>


<h4><a name="partial-content-checkout">Delvis checkout af indhold</a></h4>

<p>På følgende måde kan du oprette en checkout, som kun indeholder en delmængde 
af siderne:</p>

<pre>
  $ git clone --no-checkout git@salsa.debian.org:webmaster-team/webwml.git
  $ cd webwml
  $ git config core.sparseCheckout true
  I webwml: Opret filen .git/info/sparse-checkout med indhold som det følgende (hvis 
  du kun ønsker grundlæggende filer, engelsk, samt danske og svenske oversættelser):
    /*
    !/[a-z]*/
    /english/
    /danish/
    /swedish/
  Then:
  $ git checkout --
</pre>


<h3><a name="submit-changes">Overførsel af lokale ændringer</a></h3>

<h4><a name="keep-local-repo-up-to-date">Hold dit lokale arkiv ajour</a></h4>

<p>En gang i mellem (og helt sikkert inden du går i gang med at redigere!), skal 
du udføre en</p>

<pre>
  git pull
</pre>

<p>for at hente alle ændrede filer fra arkivet.</p>

<p>Det anbefales kraftigt, at sørge for at din lokale git-arbejdsmappe er renset 
før der udføres en <q>git pull</q> og efterfølgende redigeringsarbejde.  Hvis du 
har ændringer, som ikke er commit'et eller lokale commit, som ikke findes i det 
fjerne arkiv i den aktuelle forgrening, vil en <q>git pull</q> automatisk 
oprette merge-konflikter eller endda helt afbryde på grund af konflikter.  
Overvej at holde dit ufuldendte arbejde i en anden forgrening eller benyt 
kommandoer så som <q>git stash</q>.+</p>

<p>Bemærk: Git er et distribueret (ikke centraliseret) versionsstyringssystem.  
Det betyder at når du commit'er ændringer, bliver de kun gemt i dit lokale 
arkiv.  For at dele dine ændringer med andre, skal du også push'e (skubbe) dem 
til arkivet i Salsa.</p>


<h4><a name="example-edit-english-file">Eksempel på redigering af engelske filer</a></h4>

<p>Et eksempel på hvordan en engelsk fil redigeres i webstedets kildekodearkiv, 
kan ses herunder.  Efter at have få en lokal kopi af arkivet ved hjælp af 
<q>git clone</q> og før redigeringsarbejdet begynder, skal følgende kommando 
udføres:</p>

<pre>
  $ git pull
</pre>

<p>Foretag nu dine filændringer.  Når du er færdig, skal du commit'e ændringerne 
til dit lokale arkiv, med</p>

<pre>
  $ git add sti/til/fil(er)
  $ git commit -m "Your commit message"
</pre>

# Translator's note about the message should be in English
<p>Commitmeddelelsen skal skrives på engelsk.</p>

<p>Hvis du har ubegrænset skriveadgang til det fjerne webwml-arkiv, kun du nu 
skubbe dine ændringer direkte til Salsa-arkivet:</p>

<pre>
  $ git push
</pre>

<p>Hvis du ikke har direkte skriveadgang til webwml-arkivet, så overvej at 
indesende dine ændringer ved hjælp af Merge Request-funktionen, som findes i 
Salsa GitLab-platformen, eller bed andre udviklere om hjælp.</p>

<p>Det er et meget grundlæggende resume af hvordan Git bruges til at kildekoden 
til Debians websted.  For flere oplysninger om Git, kan du læse Gits 
dokumentation.</p>


<h4><a name="closing-debian-bug-in-git-commits">Lukning af Debian-fejl i Git-commits</a></h4>

<p>Hvis du medtager <code>Closes: #</code><var>nnnnnn</var> i din 
commitmeddelelse, vil fejl nummer <code>#</code><var>nnnnnn</var> blive lukket 
automatisk når du push'er dine ændringer.  Det nøjagtige format er det samme, 
som <a href="$(DOC)/debian-policy/ch-source.html#id24">i Debian Policy</a>.</p>


<h4><a name="links-using-http-https">Links med HTTP/HTTPS</a></h4>

<p>Mange af Debians websteder understøtter SSL/TLS, benyt derfor HTTPS-links, hvor 
det er muligt og giver mening.  <strong>Dog</strong> har nogle websteder 
tilhørende Debian/DebConf/SPI/osv., enten ikke HTTPS-understøttelse eller 
anvender kun SPI's egen certifikatmyndighed (og ikke en SSL-certifikatmyndighed, 
som alle webbrowsere stoler på).  For at undgå fejlmeddelelser, for besøgende der 
ikke Debian, skal der ikke oprettes HTTPS-links til sådanne websteder.</p>

<p>Git-arkivet afviser commits indeholdende almindelige HTTP-links til Debians 
websteder, som understøttter HTTPS, eller hvis de indeholder HTTPS-links til de 
Debian-/DebConf-/SPI-websteder, som vi véd enten ikke understøtter HTTPS eller 
anvender certifikater, som kun er signeret af SPI.</p>


<h3><a name="translation-work">Arbejde med oversættelser</a></h3>

<p>Oversættelser bør altid holde ajour med deres tilsvarende engelsksprogede 
filer.  Headeren <q>translation-check</q> i oversatte filer, anvendes til at 
holde styr på hvilken version af den engelskesprogede fil, den aktuelle 
oversættelse er baseret på.  Hvis du ændrer oversate filer, skal du opdatere 
translation-check-headeren til at svare til Git-commithashværdien i den 
tilhørende ændring af den engelsksprogede fil.  Du kan finde hashværdien 
med:</p>

<pre>
  $ git log sti/til/engelsk/fil
</pre>

<p>Hvis du foretager en ny oversættelse af en fil, så benyt skriptet 
<q>copypage.pl</q>, da det opretter en skabelon for dit sprog, herunder den 
korrekte translation-header.</p>


<h4><a name="translation-smart-change">Oversættelsesændringer med smart_change.pl</a></h4>

<p><code>smart_change.pl</code> er et skript beregnet til at gøre det lettere at 
opdatere originale filer og deres oversættelser på samme tid.  Der er to måder 
at anvende skriptet på, afhængigt af hvilke ændringer, du laver.</p>

<p>For at anvende <code>smart_change</code> til blot at opdatere 
translation-check-headere, når du manuelt arbejder på filer:</p>

<ol>
  <li>Foretag ændringerne i de(n) original(e) fil(er), og udfør commit</li>
  <li>Opdater oversættelser</li>
  <li>Udfør smart_change.pl - det opsamler ændringerne og opdaterer headerne i 
      de oversatte filer</li>
  <li>Gennemse ændringerne (fx med <code>git diff</code>)</li>
  <li>Commit oversættelsesændringerne</li>
</ol>

<p>Eller, hvis du anvender smart_change med et regulært udtræk, for at foretage 
adskillige ændringer på tværs af filer i ét gennemløb:</p>

<ol>
  <li>Kør <code>smart_change.pl -s s/FOO/BAR/ origfil1 origfil2 ...</code></li>
  <li>Gennemse ændringerne (fx med <code>git diff</code>)</li>
  <li>Commit de(n) original(e) fil(er)</li>
  <li>Kør <code>smart_change.pl origfil1 origfil2</code>
    (dvs. denne gang <strong>uden regexp'en</strong>); det vil nu kun opdatere 
    headerne i de oversatte filer</li>
  <li>Slutteligt commit'es ændringerne til oversættelserne</li>
</ol>

<p>Det er mere kompliceret end tidligere (behov for to commits), men uundgåeligt 
på grund af den måde, Gits commithashes fungerer.</p>


<h2><a name="notifications">Modtag notifikationer</a></h2>

<h3><a name="commit-notifications">Modtag commit-notifikationer</a></h3>

<p>I Salsa har vi opsat projektet således, at commits vises i IRC-kanalen 
#debian-www.</p>

<p>Hvis du ønsker at modtage notifikationer via mail, når der er commits til 
webwml-arkivet, så tilmeld dig pseudopakken <q>www.debian.org</q> via 
tracker.debian.org, og aktiver dér nøgleordet <q>vcs</q>, ved kun en enkelt 
gang at gøre som følger:</p>

<ul>
  <li>Åbn en webbrowser og gå til 
      <url https://tracker.debian.org/pkg/www.debian.org></li>
  <li>Tilmeld dig pseudopakken <q>www.debian.org</q>.  (Du kan autentificere via 
      SSO eller oprette en konto med mailadresse og adgangskode, hvis du ikke 
      allerede benytter tracker.debian.org til andre formål).</li>
  <li>Gå til <url https://tracker.debian.org/accounts/subscriptions/>, derfra 
      til <q>modify keywords</q>, sæt kryds ved <q>vcs</q> (hvis det ikke 
      allerede er tilfældet) og gem.</li>
  <li>Fra nu af vil du modtage mails, når nogen foretager commits til 
      webwml-arkivet.  Vi tilføjer snart webmasterholdets andre arkiver.</li>
</ul>


<h3><a name="merge-request-notifications">Modtag Merge Request-notifikationer</a></h3>

<p>Ønsker du at modtage notifikationsmails når der er indsendes nye Merge
Requests til webwml-arkivets webgrænseflade på Salsa GitLab-platformen, kan du 
opsætte dine notifikationsindstillinger for webwml-arkivet i webgrænsefladen:
</p>

<ul>
  <li>Log på din Salsa-konto og gå til projektets side;</li>
  <li>Klik på klokkeikonen øverst på projekthjemmesiden;</li>
  <li>Vælg dit foretrukne notifikationsniveau.</li>
</ul>

© 2014-2024 Faster IT GmbH | imprint | privacy policy