Ich habe mein Repository in
/var/local/svn/my_repository
Es ist im Besitz von
www-data:www-data
Nun möchte ich die initiale Repository-Struktur erstellen, derzeit verwende ich
sudo svn mkdir file:///var/local/svn/my_repository/{trunk,tags,branches} -m "initial directory structure"
Wenn ich das verwende, gehe ich davon aus, dass die Verzeichnisse „Trunk“, „Tags“ und „Branches“ Eigentum von Root sind?
- Ist dies möglicherweise später bei der Verwendung des Repository ein Problem?
- Wie erstelle ich die anfängliche Repository-Struktur, sodass Trunk, Branches und Tags www-data:www-data gehören? Gibt es eine Möglichkeit, dies zu tun, ohne die URL http:// zu verwenden, für die ich mich zuerst authentifizieren muss?
Danke für jeden Hinweis!
Antwort1
Sie müssen zum Ausführen nicht sudo verwenden svn mkdir
. Das Repository hat seine eigenen Berechtigungen, aber Subversion sollte diese für Sie handhaben; die Subversion-Befehlszeilenschnittstelle (oder jede andere Schnittstelle wie Tortoise SVN) sollte öffentlich sein und keinen Superuser-Zugriff erfordern. Wenn Sie Dateien auschecken, sollten diese Ihnen gehören.
svn mkdir
läuft in zwei verschiedenen Modi: Es kann direkt auf eine URL einwirken, wobei in diesem Fall auch das neue Verzeichnis übergeben wird, oder es kann auf eine lokale Arbeitskopie einwirken. Hier ist, was svn help mkdir
zu diesem Thema zu sagen ist:
mkdir: Create a new directory under version control.
usage: 1. mkdir PATH...
2. mkdir URL...
Create version controlled directories.
1. Each directory specified by a working copy PATH is created locally
and scheduled for addition upon the next commit.
2. Each directory specified by a URL is created in the repository via
an immediate commit.
In both cases, all the intermediate directories must already exist,
unless the --parents option is given.
Wenn Sie beim Ausführen nicht die gewünschten Ergebnisse sehen svn mkdir URL
, versuchen Sie, das Repository auszuchecken, svn mkdir
die Tags/Zweige/den Stamm zu erstellen und dann die Änderungen zu committen. Dies sollte Ihnen zumindest mehr Informationen geben, falls etwas schief geht.