2012-09-25 11 views
6

Ich habe einen bereits bestehenden git-svn Repo mit einem ignorieren Pfad in meiner .config-Datei, die wie folgt aussieht:Wie ändere ich Ignorierpfade in einem vorhandenen Git-Svn Repo?

ignore-paths = ^(?!(Path1/Proj1|Path1/Proj2|Path2/Proj3)) 

Diese gut funktioniert.

Jemand hat ein neues Projekt in SVN hinzugefügt, das ich jetzt in meinem Git Repo brauche.

Wenn ich ignorieren-Pfade ändern, was unten ist und eine Ausgabe holen oder ein Fütterungsmaterial, habe ich nie Path2/Proj4

ignore-paths = ^(?!(Path1/Proj1|Path1/Proj2|Path2/Proj3|Path2/Proj4)) 

In der Vergangenheit habe ich immer aufgegeben und weggesprengt meine git Repo sehen und neu erstellt. Gibt es einen besseren Weg?

+0

Sie können '.git/config' von Hand bearbeiten. Ich habe gelesen, dass die Verwendung der normalen 'git config'-Befehle für viele der svn-Eigenschaften nicht funktioniert. –

+0

Bearbeiten der .git/config macht es nicht für mich (mit Include-Pfaden) – unhammer

Antwort

2

Nach der Bearbeitung der ignore-Pfade Sie

git svn reset -r <n> -p # where <n> is the SVN revision where the new path was added. 
git svn fetch 
git rebase # or reset 

Referenz git-svn(1) zu

benötigen:

zurückgesetzt

Hebt die Wirkung von holen zurück an die angegebene Revision. Dies ermöglicht es Ihnen, eine SVN-Revision wiederherzustellen. Normalerweise sollte sich der Inhalt einer SVN-Revision niemals ändern und sollte nicht notwendig sein. Wenn sich die SVN-Berechtigungen jedoch ändern, oder wenn Sie die Option --ignore-paths ändern, kann mit "not in commit" gefunden werden (Datei nicht vorher sichtbar) oder). Wenn das Problem Datei nicht für immer ignoriert werden kann (mit --ignore-Pfade) die einzige Möglichkeit, das Repo zu reparieren, ist die Verwendung Reset.

Nur die rev_map und refs/remotes/git-svn geändert werden (siehe $ GIT_DIR/svn/* \ * /. Rev_map. * im FILES Abschnitt weiter unten). Follow zurückgesetzt mit einem holen und dann git zurückgesetzt oder git zu bewegen lokalen Zweige auf den neuen Baum rebase.

Verwandte Themen