2010-12-28 3 views
2

Pls. siehe Creating a Subversion branch. Ich habe ein Repository mit der URL http://reposerver/svn/repository/ erstellt und eine Arbeitskopie ausgecheckt und angefangen, dem Stamm Dateien hinzuzufügen, anstatt es in den Stammordner zu tun.Erstellen eines Subversion-Zweigs nach dem Erstellen des Projekts im Repository-Stamm

Nun müssen wir einen Zweig erstellen, außer dass wir keinen Ordner "Trunk" haben. "Wrikken" schlug vor, dass wir eine mögliche Problemumgehung jetzt erstellen eine Ordner-Trunk und verschieben Sie den aktuellen Inhalt des Stamms Sans-Verzweigungsverzeichnis an diesem Speicherort.

Jetzt wissen wir nicht Wie zu tun "verschiebe den aktuellen Inhalt der root sans-Zweige dir in diesen Ort". Welchen Befehl sollten wir verwenden, um das Gleiche zu tun?

Wenn wir ls tun -la von/var/svn/Repository, hier ist, was wir

total 32 
drwxr-xr-x 2 www-data subversion 4096 2010-12-28 18:20 conf 
drwxr-xr-x 3 www-data www-data 4096 2010-12-28 18:23 dav 
drwxr-sr-x 6 www-data subversion 4096 2010-12-28 18:31 db 
-r--r--r-- 1 www-data subversion 2 2010-12-28 18:20 format 
drwxr-xr-x 2 www-data subversion 4096 2010-12-28 18:20 hooks 
drwxr-xr-x 2 www-data subversion 4096 2010-12-28 18:20 locks 
-rw-r--r-- 1 www-data subversion 229 2010-12-28 18:20 README.txt 
-rw-r--r-- 1 root  root   95 2010-12-28 18:41 svn-commit.tmp 

TL DR sehen: Wir brauchen einen Zweig und unser Repository erstellt hat NOT "Stamm" und „Zweige " Welche Befehle müssen wir also verwenden, um vorhandenen Repository-Inhalt in ein Trunk-Verzeichnis zu verschieben?

Vielen Dank,

Antwort

1

Führen Sie die folgenden Befehle in der Wurzel einer Arbeitskopie des Repositorys (ls ausgeben soll den Inhalt Ihres Repository, nicht die Dateien und Verzeichnisse in der Frage zitiert).

svn mkdir trunk 
svn mv `ls | egrep -v '^branches$` trunk 
svn ci -m 'Create trunk dir and move trunk contents into it.' 

egrep -v '^branches$ passt alles außer branches. Der mv Befehl wird klug genug sein, nicht Versuch trunk in sich selbst zu verschieben, obwohl es Sie mit einem Fehler anschreien wird, den Sie sicher ignorieren können.

+0

Sie sollten wahrscheinlich feststellen, dass dies im Verzeichnis einer Arbeitskopie ausgeführt werden muss, nicht der Speicherort des Repositorys im Dateisystem, das anjanb betrachtet. – meriton

+0

@meriton Guter Punkt, fügte hinzu, dass in. – marcog

+0

danke. es funktionierte. – anjanb

0

Verwenden Sie den Subversion-Client Ihrer Wahl. Es sollte eine Verschiebeoperation haben. (. Im Gegensatz zu CVS eine Datei/Verzeichnis in Subversion bewegt behält die Geschichte der verschobene Datei/Verzeichnis)

Zum Beispiel, wenn Ihr die Tortoise SVN-Client verwenden, hier ist der relevante Teil der Hilfedatei:

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html