aboutsummaryrefslogtreecommitdiffstats
path: root/polish/devel/website/using_git.wml
blob: dbb79f262732a6ab4545ee5ffce1f29d2bcc3e30 (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
#use wml::debian::template title="Używanie gita do manipulowania kodem źródłowym witryny"
#use wml::debian::translation-check translation="775bde4698a5b024eb1e3ba05a53cf38a0eb1fd5"

<p>Git jest <a href="https://en.wikipedia.org/wiki/Version_control">systemem 
kontroli wersji</a>, który pomaga zarządzać pracą wielu osób pracujących 
jednocześnie nad tym samym materiałem. Każdy użytkownik może posiadać 
lokalną kopię głównego repozytorium. Kopia lokalna może być na tej samej 
maszynie albo w dowolnym miejscu na świecie. Użytkownicy mogą następnie 
modyfikować kopię lokalną według własnego uznania i kiedy modyfikowany 
materiał jest gotowy, zatwierdzają zmiany i wysyłają je z powrotem do 
głównego repozytorium.</p>

<p>Git nie pozwoli wysłać commita, jeśli repozytorium zdalne posiada nowsze 
commity (zmiany) niż kopia lokalna w tej samej gałęzi. W takim przypadku, gdy 
istnieje konflikt, należy najpierw pobrać i zaktualizować kopię lokalną a 
następnie w razie potrzeby wykonać <code>rebase</code> swoich nowych zmian 
bazując na ostatniej wersji.
</p>

<h3><a name="write-access">git - dostęp do zapisu</a></h3>

<p>
Osoby potrzebujące dostępu do zapisu w repozytorium muszą poprosić o to
poprzez stronę internetową <url https://salsa.debian.org/webmaster-team/webwml/> 
po zalogowaniu się na platformę Debian Salsa.
Osoby nowe w pracach nad stronami Debiana, nie mające wcześniejszych 
doświadczeń w tej dziedzinie, powinny wysłać także wiadomość do 
<a href="mailto:debian-www@lists.debian.org">debian-www@lists.debian.org</a>
i przedstawić się. Prosimy napisać coś użytecznego w swej prośbie: nad którym 
językiem lub częścią witryny planujesz pracować, i kto może za Ciebie poręczyć. 
</p>

<h3><a name="work-on-repository">Praca z repozytorium</a></h3>

<h4><a name="clone-local-repo-copy">Sklonuj lokalną kopię repozytorium</a></h4>

<p>Aby móc pracować z repozytorium, na początku należy zainstalować program git. 
Następnie należy skonfigurować użytkownika oraz adres mailowy na swoim 
komputerze (aby dowiedzieć się jak to zrobić, proszę odwołać się do ogólnej 
dokumentacji gita). Po wykonaniu tych czynności można sklonować repozytorium 
(innymi słowy, utworzyć lokalną kopię) używając jednego z dwóch sposobów.</p>

<p>Zalecanym sposobem pracy nad webwml, jest rozpoczęcie od zarejestrowania 
się na salsa.debian.org i włączenie dostępu git SSH poprzez przesłanie 
publicznego klucza SSH do swojego konta. Szczegółowe informacji jak to 
zrobić znajdują się na <a
href="https://salsa.debian.org/help/ssh/index.md">stronach pomocy salsa</a>.
Po wykonaniu tych czynności można sklonować repozytorium webwml używając 
następującego polecenia:</p>

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

<p>Jeżeli nie mamy konta salsa, alternatywną metodą jest sklonowanie 
repozytorium przy użyciu protokołu HTTPS:</p>

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

<p>Polecenie to utworzy taką samą lokalną kopię repozytorium, ale 
nie pozwoli bezpośrednio wysyłać zmian</p>

<p>Sklonowanie całego repozytorium webwml będzie wymagało pobrania 
około 500MB danych, a zatem może to być trudne dla osób z wolnym 
lub niestabilnym połączeniem internetowym. Aby zmniejszyć ilość 
danych przy pierwszym pobraniu, można spróbować płytkiego klonowania 
z minimalnym zagłębieniem:</p>

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

<p>Po uzyskaniu użytecznego (płytkiego) repozytorium, można pogłębić 
lokalną płytką kopię i ostatecznie przekonwertować ją do pełnego lokalnego
repozytorium:</p>

<pre>
  git fetch --deepen=1000 # pogłębienie repozytorium o kolejne 1000 commitów
  git fetch --unshallow   # pobranie wszystkich brakujących commitów, konwersja repozytorium do stanu kompletnego
</pre>

<h4><a name="partial-content-checkout">Częściowe sprawdzanie zawartości</a></h4>

<p>W następujący sposób można utworzyć checkout tylko dla wybranego zestawu stron:</p>

<pre>
   $ git clone --no-checkout git@salsa.debian.org:webmaster-team/webwml.git
   $ cd webwml
   $ git config core.sparseCheckout true
   W webwml: Utwórz plik .git/info/sparse-checkout z następującą zawartością
   (jeśli potrzebujesz podstawowych plików oraz tłumaczeń języka angielskiego, katalońskiego i hiszpańskiego):
      /*
      !/[a-z]*/
      /english/
      /catalan/
      /spanish/
   Następnie:
   $ git checkout --
</pre>

<h4><a name="submit-changes">Przesyłanie lokalnych zmian</a></h4>

<p>Co kilka dni (a zdecydowanie przed rozpoczęciem edycji) należy wykonać</p>

<pre>
   git pull
</pre>

<p>aby otrzymać zmienione pliki z repozytorium.</p>

<p>Uwaga: git jest rozproszonym (nie scentralizowanym) systemem kontroli 
wersji. Oznacza to, że kiedy robimy commit zmian, są one zachowywane tylko 
w naszym lokalnym repozytorium. Aby udostępnić je innym, należy 
wysłać nasze zmiany do centralnego repozytorium na salsa.</p>

<p><strong>Zatem edycja pliku w języku angielskim będzie przebiegać następująco:</strong></p>

<pre>
   $ git pull
</pre>

<p>Następnie wprowadzamy zmiany w plikach. Potem wysyłamy zmiany do lokalnego 
repozytorium używając polecenia:</p>

<pre>
   $ git add ścieżka/do/pliku(ów)
   $ git commit -m "Opis zmian"
</pre>

<p>Następnie wysyłamy zmiany do repozytorium Salsa:</p>

<pre>
   $ git push
</pre>

<p>To jest skrócony opis tego, jak używać gita do manipulowania kodem 
źródłowym stron Debiana. Aby uzyskać więcej informacji, proszę 
zapoznać się z dokumentacją gita.</p>

### FIXME: Is the following still true? holgerw
### FIXME: Seems not true anymore. Needs fixup. -- hosiet-guest
<h4><a name="closing-debian-bug-in-git-commits">Zamykanie błędów przy użyciu commitów</a></h4>

<p>
Jeżeli dołączymy <code>Closes: #</code><var>nnnnnn</var> w logu commita, 
wtedy błąd o numerze <code>#</code><var>nnnnnn</var> będzie zamknięty 
automatycznie po wysłaniu zmian. Dokładna forma tego wpisu jest taka sama
jak <a href="$(DOC)/debian-policy/ch-source.html#id24">w polityce Debiana</a>.</p>

<h4><a name="links-using-http-https">Linkowanie przy użyciu HTTP/HTTPS</a></h4>

<p>Wiele stron Debiana wspiera SSL, dlatego należy używać linków HTTPS 
gdzie jest to możliwe i sensowne. <strong>Jakkolwiek</strong> niektóre 
strony Debian/DebConf/SPI/itp albo nie wspierają HTTPS w ogóle, albo 
używają tylko SPI CA (i nie używają zaufanych przez wszystkie przeglądarki SSL CA).
Aby uniknąć powodowania komunikatów o błędach dla użytkowników spoza Debiana, 
nie należy stosować do takich stron linków z HTTPS.</p>

<p>Repozytorium git odrzuci commity zawierające czyste linki HTTP do 
stron Debiana, które wspierają HTTPS lub zawierające linki HTTPS 
do stron Debian/DebConf/SPI, o których wiemy że albo nie wspierają HTTPS
albo używają certyfikatów podpisanych tylko przez SPI.</p>

<h3><a name="translation-work">Praca nad tłumaczeniami</a></h3>

<p>Po zmianie tłumaczonego pliku, należy zaktualizować nagłówek 
translation-check, aby odpowiadał identyfikatorowi (hash) commita z 
odpowiednią zmianą w pliku angielskim. Identyfikator ten znajdziemy 
korzystając z polecenia</p>

<pre>
$ git log path/to/english/file
</pre>

<p>Jeżeli tworzymy nowe tłumaczenie pliku, możemy użyć skryptu 
<q>copypage.pl</q>, który utworzy szablon dla naszego języka, dołączając 
odpowiedni nagłówek tłumaczenia.</p>

<h3><a name="translation-smart-change">Tłumaczenie zmian przy użyciu skryptu smart_change.pl</a></h3>

<p><code>smart_change.pl</code> jest skryptem zaprojektowanym aby ułatwić 
wspólną aktualizację oryginalnego pliku oraz jego tłumaczeń. Istnieją dwa
sposoby użycia tego skryptu, w zależności od zmian jakie chcemy wprowadzić.</p>

<p>Aby użyć <code>smart_change</code> tylko do aktualizacji nagłówka 
translation-check, kiedy pracujemy nad plikiem ręcznie:</p>

<ol>
  <li>Wprowadzamy zmiany w oryginalnym pliku(ach) i robimy commit</li>
  <li>Aktualizujemy tłumaczenia</li>
  <li>Uruchamiamy smart_change.pl - zostaną pobrane zmiany i zaktualizowane 
    nagłówki w przetłumaczonych plikach</li>
  <li>Przeglądamy zmiany (np. przy użyciu "git diff")</li>
  <li>Robimy commit zmian w tłumaczeniach</li>
</ol>

<p>Albo, jeżeli używamy smart_change z wyrażeniami regularnymi do 
zrobienia wielu zmian w wielu plikach w jednym kroku:</p>

<ol>
  <li>Uruchamiamy <code>smart_change.pl -s s/FOO/BAR/ origfile1 origfile2 ...</code></li>
  <li>Przeglądamy zmiany (np. przy użyciu <code>git diff</code>)
  <li>Robimy commit oryginalnego pliku(ów)</li>
  <li>uruchamiamy <code>smart_change.pl origfile1 origfile2</code>
    (np. <strong>bez regexp</strong> tym razem); teraz będą zaktualizowane 
    nagłówki w przetłumaczonych plikach</li>
  <li>Na końcu, robimy commit zmian w tłumaczeniach</li>
</ol>

<p>Ten sposób jest bardziej skomplikowany niż poprzedni (wymagający dwóch 
commitów), ale nieunikniony ze względu na sposób, w jaki 
działają hashe commitów w git.</p>

<h3><a name="notifications">Otrzymywanie powiadomień</a></h3>

<p>Skonfigurowaliśmy projekt webwml na Salsa w taki sposób, aby commity 
pokazywały się na kanale IRC #debian-www.</p>

<p>Aby otrzymywać powiadomienia poprzez e-mail kiedy pojawią się commity 
w repozytorium, należy zapisać się do pseudopakietu <q>www.debian.org</q> 
poprzez tracker.debian.org i aktywować tam słowo kluczowe <q>vcs</q> 
wykonując następujące kroki (tylko raz):</p>

<ul>
  <li>Otworzyć przeglądarkę i przejść pod adres <url https://tracker.debian.org/pkg/www.debian.org></li>
  <li>Zapisać się do pseudopakietu <q>www.debian.org</q>. (Można uwierzytelnić się poprzez
      SSO lub zarejestrować email i hasło, jeśli jeszcze nie używamy 
      tracker.debian.org do innych celów).</li>
  <li>Przejść pod adres <url https://tracker.debian.org/accounts/subscriptions/>, następnie do <q>modify
      keywords</q>, zaznaczyć <q>vcs</q> (jeśli nie jest zaznaczony) i zapisać.</li>
  <li>Od tej chwili będziemy otrzymywać wiadomości kiedy ktoś zrobi commit do repozytorium webwml.
      Wkrótce dodamy inne repozytoria webmaster-team.</li>
</ul>

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