1,361
edits
| Line 996: | Line 996: | ||
Najprostszym sposobem na pracę zespołową jest posiadanie przez każdego dewelopera [[#Indywidualny deweloper|kopi svn FGAddon]] lub [[#Indywidualny deweloper (git-svn)|kopi git-svn FGAddon]], a każdy zatwierdza bezpośrednio do FGAddon. Komunikacja i koordynacja między członkami zespołu może odbywać się za pomocą [[#Komunikacja w zespole|forum SourceForge]] zorganizowanego przez lidera lub za pomocą [http://forum.flightgear.org/ FlightGear forum]. W tym scenariuszu zespół musi przejąć inicjatywę i wszyscy ubiegają się o dostęp do zatwierdzeń FGAddon. | Najprostszym sposobem na pracę zespołową jest posiadanie przez każdego dewelopera [[#Indywidualny deweloper|kopi svn FGAddon]] lub [[#Indywidualny deweloper (git-svn)|kopi git-svn FGAddon]], a każdy zatwierdza bezpośrednio do FGAddon. Komunikacja i koordynacja między członkami zespołu może odbywać się za pomocą [[#Komunikacja w zespole|forum SourceForge]] zorganizowanego przez lidera lub za pomocą [http://forum.flightgear.org/ FlightGear forum]. W tym scenariuszu zespół musi przejąć inicjatywę i wszyscy ubiegają się o dostęp do zatwierdzeń FGAddon. | ||
=== | === Prywatny zespół deweloperów (git-svn) === | ||
{{Note| | {{Note|Scenariusz: Jeden z liderów zespołu działa jako opiekun prywatnego repozytorium git hostowanego w wewnętrznej infrastrukturze SourceForge, używając git-svn do wypchnięcia gałęzi fgaddon do FGAddon, a członkowie zespołu zatwierdzają bezpośrednio do prywatnego repozytorium git lub wysyłają żądania scalenia ze swojego rozwidlenia prywatnego repozytorium.}} | ||
Aby zachować wszystko we własnym zakresie, cała operacja będzie oparta na oficjalnej infrastrukturze i zdalnych repozytoriach w ramach profilu każdego użytkownika SourceForge (SF). Uwaga dla lidera zespołu — musisz [https://git-scm.com/book/en/v1/Git-and-Other-Systems-Git-and-Subversion#git-svn utrzymywać liniową historię git-svn] (co oznacza, że należy utworzyć [[#Dedykowana gałąź FGAddon|dedykowaną gałąź FGAddon]] i ręcznie wybrać (cherry-pick) zmiany w tej gałęzi). W dalszej części jako przykład zostanie użyty statek powietrzny <code>ornithopter</code>. | |||
==== | ==== Zespół ==== | ||
Po pierwsze, cały zespół powinien zalogować się na swoje [[#Konto na SourceForge|konto SourceForge]]. | |||
==== | ==== Lider zespołu ==== | ||
===== | ===== Konfiguracja prywatnego repozytorium ===== | ||
Te kroki musi podjąć lider zespołu. W swoim profilu użytkownika SourceForge skonfiguruj [[#Repozytorium git dla deweloperów|repozytorium git]] z etykietą <code>Ornithopter FGAddon repozytorium git-svn</code> i ścieżką kodu <code>code-ornithopter</code>. Następnie utwórz puste, lokalne repozytorium git: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ mkdir ornithopter | $ mkdir ornithopter | ||
| Line 1,017: | Line 1,018: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Połącz puste repozytorium z katalogiem <code>ornithopter</code> statku powietrznego w zdalnym repozytorium FGAddon i pobierz je za pomocą: | |||
{{#tag:syntaxhighlight| | {{#tag:syntaxhighlight| | ||
$ {{fgaddon source|cmd=git svn init|protocol=svn+ssh|login=<username>|type=svn|path=Aircraft/ornithopter|full=1}} | $ {{fgaddon source|cmd=git svn init|protocol=svn+ssh|login=<username>|type=svn|path=Aircraft/ornithopter|full=1}} | ||
| Line 1,024: | Line 1,025: | ||
}} | }} | ||
Zastąp <code><username></code> swoją nazwą użytkownika SF. Skonfiguruj specjalną gałąź git-svn dla opiekuna FGAddon i dcommituj zmiany z powrotem do repozytorium: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ git branch fgaddon remotes/git-svn | $ git branch fgaddon remotes/git-svn | ||
| Line 1,030: | Line 1,032: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Następnie pobierz <code>ornithopter</code> z FGAddon: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ git svn rebase | $ git svn rebase | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Aby zobaczyć bieżącą konfigurację lokalnego repozytorium git-svn, wpisz: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ git branch -vva | $ git branch -vva | ||
| Line 1,042: | Line 1,044: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Następnie powróć do gałęzi głównej: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ git checkout master | $ git checkout master | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Na koniec skonfiguruj zdalne repozytorium git jako zdalne: | |||
{{#tag:syntaxhighlight| | {{#tag:syntaxhighlight| | ||
$ {{sourceforge url|cmd=git remote add|opt=origin|protocol=ssh|login=<username>|user=<username>|type=git|repo=code-ornithopter}} | $ {{sourceforge url|cmd=git remote add|opt=origin|protocol=ssh|login=<username>|user=<username>|type=git|repo=code-ornithopter}} | ||
| Line 1,053: | Line 1,055: | ||
}} | }} | ||
I wyślij gałąź master do zdalnego repozytorium git: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ git push -u origin master | $ git push -u origin master | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Aby zobaczyć nową konfigurację, wpisz: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ git branch -vva | $ git branch -vva | ||
| Line 1,064: | Line 1,066: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Repozytorium będzie znajdować się pod adresem {{#tag:span|{{#tag:tt|{{#tag:nowiki|{{sourceforge url|user=<username>|repo=code-ornithopter|branch=master}}}}}}| style="color: blue"}}. Należy pamiętać, że informacje git-svn przechowywane w katalogu <code>.git/svn</code> nie zostaną przesłane do zdalnego repozytorium SoureForge, dlatego link powrotny do FGAddon będzie obecny tylko w lokalnej kopii lidera zespołu . W razie potrzeby łącze git-svn można ponownie ustanowić później. | |||
===== Team setup ===== | ===== Team setup ===== | ||
edits