FGAddon: Difference between revisions

Jump to navigation Jump to search
37 bytes added ,  25 July 2016
→‎Protocols other than svn+ssh: Small edits to the new section.
(→‎Deficiencies of git-svn: Improved the introductory text.)
(→‎Protocols other than svn+ssh: Small edits to the new section.)
Line 373: Line 373:
==== Protocols other than svn+ssh ====
==== Protocols other than svn+ssh ====


<code>git svn init</code> replicates the entire history of an aircraft into a local repository; as part of this process, it constructs a git commit id for every Subversion revision. The problem is that the git commit id depends on the protocol used to read from the Subversion repository; therefore:
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:


{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
Line 389: Line 389:
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.
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.


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.
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.


== FGAddon development concepts ==
== FGAddon development concepts ==

Navigation menu