De/FGAddon: Difference between revisions

Jump to navigation Jump to search
363 bytes added ,  4 September 2018
Line 337: Line 337:
{{caution|Git-svn erzeugt nicht immer einen Verlauf für das Verschieben oder Umbenennen von Dateien, wie es normalerweise bei einem Subversion Repository der Fall ist.}}
{{caution|Git-svn erzeugt nicht immer einen Verlauf für das Verschieben oder Umbenennen von Dateien, wie es normalerweise bei einem Subversion Repository der Fall ist.}}


This problem stems from the fact that svn history is more robust than that of git. The <code>svn mv</code> and <code>git mv</code> commands are not equivalentThe subversion command stores the move history directly in the repository whereas git does not (git instead uses heuristic methods to try to detect history, after the commit). The result of using git-svn is that often the move will not be detected and the FGAddon history will show one file or directory being deleted and another added. This also causes the repository backend to increase in size, whereas <code>svn mv</code> will not cause any significant size increase. If you wish to have a better historical record in the FGAddon repository and be considerate to the repository backend, it is recommended that you temporarily switch to the subversion tools. Firstly, synchronise the repositories:
Das Problem basiert darauf, dass der SVN Verlauf deutlich robuster ist, als der von Git. Die <code>svn mv</code> und <code>git mv</code> Kommandos sind nicht identischDas Subversion Kommando speichert den Verlauf des Verschhiebens direkt im entsprechenden Repositorium. Git tut das jedoch nicht. Stattdessen verwendet Git heuristische Methoden, und versucht so den Verlauf '''nach dem Commit''' zu entdecken. Die Nutzung von SVN-Git führt also dazu, dass das Verschieben nicht registriert wird. Der FGAddon Verlauf zeigt stattdessen das eine Datei oder ein Verzeichnis gelöscht, während eine andere Datei bzw. ein anderes Verzeichnis neu angelegt wurde. Das führt außerdem dazu, dass die Größe des Backends des Repositoriums zunimmt. Das <code>svn mv</code> Kommando hingegen führt zu keinem nennenswerten Anstieg der Größe beim Repository-Backend. Möchtest Du einen besseren historischen Verlauf im FGAddon Reposity haben und gleichzeitig verantwortungsvoll mit der Backend-Größe umgehen, dann is es zu empfehlen, vorrübergehend zu den Subversion Tools zu wechseln. Dafür musst Du zunächst die Repositorien synchronisieren:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git svn dcommit
git svn dcommit
</syntaxhighlight>
</syntaxhighlight>


Then in the local svn repository, move or rename the file:
Anschließend kannst Du die Datei oder das Verzeichnis im lokalen Repo verschieben oder umbennen:  
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
svn mv Aircraft/<aircraft>/<file_path1> Aircraft/<aircraft>/<file_path2>
svn mv Aircraft/<aircraft>/<file_path1> Aircraft/<aircraft>/<file_path2>
</syntaxhighlight>
</syntaxhighlight>


And commit the change:
Und einen Commit für die Änderungen durchführen:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
svn ci
svn ci
</syntaxhighlight>
</syntaxhighlight>


Back in the local git-svn repository, pull in the changes with:
Zurück im lokalen Git-SVN Repositorium kannst Du nun die Änderungen "pullen":  
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git svn rebase
git svn rebase
7

edits

Navigation menu