Pl/FGAddon: Difference between revisions

Jump to navigation Jump to search
Line 400: Line 400:
Wewnętrznie Subversion identyfikuje pliki binarne za pomocą właściwości repozytorium <code>svn:mime-type</code>. Ponieważ jednak git-svn nie może ustawić tej właściwości podczas korzystania z polecenia <code>git add</code>, w rezultacie pliki binarne będą traktowane jako tekst. Różnice binarne będą widoczne podczas korzystania z <code>svn diff</code> lub <code>git diff</code>, a różnica binarna zostanie pokazana w komunikatach [[#FGAddon commitlog mailing list|listy mailingowej commitlog]]. Ponieważ problem ten nie jest unikalny dla git-svn, aby obejść ten problem należy zapoznać się z sekcją [[#Binarny_diff|Binarny diff]].
Wewnętrznie Subversion identyfikuje pliki binarne za pomocą właściwości repozytorium <code>svn:mime-type</code>. Ponieważ jednak git-svn nie może ustawić tej właściwości podczas korzystania z polecenia <code>git add</code>, w rezultacie pliki binarne będą traktowane jako tekst. Różnice binarne będą widoczne podczas korzystania z <code>svn diff</code> lub <code>git diff</code>, a różnica binarna zostanie pokazana w komunikatach [[#FGAddon commitlog mailing list|listy mailingowej commitlog]]. Ponieważ problem ten nie jest unikalny dla git-svn, aby obejść ten problem należy zapoznać się z sekcją [[#Binarny_diff|Binarny diff]].


==== Protocols other than svn+ssh ====
==== Protokoły inne niż svn+ssh ====


The command <code>git svn init</code> replicates the entire history of an aircraft into a local repository. As part of this process, it generates a git commit ID or hash for every Subversion revision. The problem is that the git commit ID depends on the protocol used to read from the Subversion repository (likely a git bug).   Hence:
Polecenie <code>git svn init</code> replikuje całą historię statku powietrznego do lokalnego repozytorium. Jako część tego procesu, generuje git commit ID lub hash dla każdej rewizji Subversion. Problem polega na tym, że git commit ID zależy od protokołu używanego do odczytu z repozytorium Subversion (prawdopodobnie jest to błąd gita). Stąd:


{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
Line 409: Line 409:
}}
}}


and
i


{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
Line 416: Line 416:
}}
}}


will result in two different and incompatible git repositories, even though they contain the same data. The incompatibility is not immediately apparent but it will bite later. Suppose someone with read-only access to FGAddon uses the https method, then asks a FGAddon gatekeeper to commit their changes. The gatekeeper, naturally, uses svn+ssh, as this is the only protocol granting write permissions. When the gatekeeper tries to merge the contributor's https clone into their own svn+ssh clone, git will complain that the two repositories have no history in common, and flag every change as a conflict.
spowoduje powstanie dwóch różnych i niekompatybilnych repozytoriów git, mimo że zawierają one te same dane. Niekompatybilność nie jest od razu widoczna, ale będzie problemem później. Załóżmy, że ktoś z dostępem tylko do odczytu do FGAddon używa metody https, a następnie prosi opiekuna FGAddon o zatwierdzenie swoich zmian. Opiekun naturalnie używa svn+ssh, ponieważ jest to jedyny protokół przyznający uprawnienia do zapisu. Gdy opiekun spróbuje scalić klon https z własnym klonem svn+ssh, git będzie narzekał, że oba repozytoria nie mają wspólnej historii i oznaczy każdą zmianę jako konflikt.


Therefore, if you are planning to make any changes to an aircraft, be sure to use svn+ssh even if you do not yet have commit permissions on FGAddon. svn+ssh does not require write permissions, it only requires a SourceForge user ID.
Dlatego jeśli planujesz wprowadzić jakiekolwiek zmiany w statku powietrznym, upewnij się, że używasz svn+ssh, nawet jeśli nie masz jeszcze uprawnień do zatwierdzania w FGAddon. svn+ssh nie wymaga uprawnień do zapisu, wymaga jedynie identyfikatora użytkownika SourceForge.


== FGAddon development concepts ==
== FGAddon development concepts ==
1,361

edits

Navigation menu