2016-06-02 24 views
0

Ich weiß, ich git-svn verwenden können Sie ein Verzeichnis in ein neues Git Repo zu klonen, aber wie kann ich git-svn eine einzelne Datei in ein neues Git klonen Repo?git svn clone [mit Single File]

Ich habe eine Anforderung, mein SVN-Repository in mehrere GIT-Repos aufzuteilen, und ich muss bestimmte Verzeichnisse in neue Git-Repositories klonen. Mit git-svn Ich kann den folgenden Befehl für Verzeichnisse verwendet werden:

git svn clone "svnRepo/folderName/" "C:/newGitRepo/FolderName" 

aber wenn ich versuche:

git svn clone "svnRepo/folderName/style.css" "C:/newGitRepo/FolderName" 

es nicht funktioniert, gibt es mir die folgende Ausgabe:

Initialized empty Git repository in C:/newGitRepo/FolderName/.git/ 
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: '...trunk/folderName/style.css' path not found 
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history. 
This may take a while on large repositories 
Invalid filesystem path syntax: Cannot replace a directory from within at /mingw64/share/perl5/site_perl/Git/SVN/Ra.pm line 308. 

Gibt es trotzdem eine einzelne Datei in ein neues Git Repo zu klonen?

(ich diese Version von GIT bin mit: https://github.com/git-for-windows/git/releases/download/v2.8.3.windows.1/Git-2.8.3-32-bit.exe)

Antwort

0

Die kurze Antwort ist, dass Sie genau dies nicht tun können, wie Sie wollen, aber es gibt eine Möglichkeit, es zu tun, etwas anders:

Wenn Was Sie tun möchten, ist eine Migration von SVN zu Git, was ich empfehle ist, dass Sie Ihre Repositories in Svn brechen, dann können Sie Git Svn Clone auf jedem Ordner verwenden. Aber Sie würden die Fähigkeit verlieren, zurück zu dem SVN Repo von Ihrem neuen Git Repo (unter Verwendung Git Svn DC Commit) Commit.

Eine andere Lösung ist es, eine spärliche Kasse zu tun: doc finden Sie auch einige Details in Sparse checkout in Git 1.7.0? . Aber Sie müssten immer noch den gesamten Inhalt Ihres Verzeichnisses in das neu erstellte Git Repository, auch wenn Sie es nicht im Arbeitsverzeichnis sehen.