2009-08-31 10 views

Antwort

22

Ja, es ist möglich mit SVN 1.6. Es ist documented in der nächtlichen Build-Version des Svn-Buches.

Aber obwohl Dateiexternals funktionieren, sollten Sie nur mit Textdateien (für jetzt) ​​tun, da Binärdateien won't work correctly als Datei externals.

+3

das Problem mit Binärdateien (http://subversion.tigris.org/issues/show_bug.cgi?id=3368) ist behoben – sdu

+5

noch sollte man beachten, dass externe Dateien nur aus dem gleichen Repository wie die aufgenommen werden können Ordner, der die Externals-Definition enthält – Janosch

+0

Janosch: das ist nicht wahr. Datei-Externals können aus jedem Repository stammen. – Stefan

1

Ich konnte kein gutes Beispiel darüber finden, wie man eine externe svn-Datei erstellt. Ich gebe hier ein Beispiel, damit es für andere nützlich sein kann.

Das Format ist

svn propset svn:externals "<local file> <remote svn file>" <local dir> 

Für z.B. Befehl folgende

svn propset svn:externals "my.cfg https://myserver/my/svn/location/my_sample_file.cfg.template" my_folder 

wird die Datei https://myserver/my/svn/location/my_sample_file.cfg.template unter my_folder als my.cfg erstellen. Hier nehme ich an, Sie haben offensichtlich den Ordner my_folder in Ihrem aktuellen Verzeichnis, das unter svn steht.

+1

Seltsam, die SVN-Dokumente Anspruch Datei externe sind nicht möglich über Repositories. – 0xC0000022L

+0

Die Antwort von Nikita Bosik ist bevorzugt, da sie relative Pfade erlaubt. – gerardw

1

Für SVN 1.9.4 die Syntax ist wie der Ordner ein:

svn propset svn:externals <remote file> <local file> 

Eg, diese Datei local.txt im aktuellen Verzeichnis erstellen wird Referenzierung auf file.txt:

svn propset svn:externals ^/trunk/path/to/file.txt local.txt 
1

Wie in der ersten erwähnten Antwort, SVN Externals sind in Chapter 3 of the SVN Book dokumentiert, und einige Syntaxbeispiele sind dort angegeben.

Zusätzlich wird diese Note gegeben:

"Weil die svn: externals Eigenschaft ein mehrzeiliges Wert hat, empfehlen wir dringend, dass Sie svn propedit statt SVN propset verwenden."

Nach meiner Erfahrung Tests Tortoise SVN v1.9.6 und svn.exe v1.9.5, sind die Ergebnisse wie dokumentiert.

  • bringen in einem externen Ordner mit allen Dateien funktioniert.
  • Bringen Sie eine einzelne Datei von der gleichen Repo funktioniert.
  • Eingeben einzelne Datei von einem verschiedene Repo fehlschlägt und diese Einschränkung ist im SVN Buch dokumentiert.

Dies führt zu einer ungeschickten Problemumgehung. Wenn Sie beide Repos kontrollieren, können Sie eine einzelne Datei im Quell-Repo (durch Externe einer einzelnen Datei WITHIN Repo) in einen eigenen Ordner klonen, und Externes dann über Repo-Grenzen in den Ziel-Repo, indem Sie den gesamten Ordner einfügen, die nur eine einzige Datei enthält.

Docs dafür mit dem Tortoise SVN-Client sind on tortoisesvn.net.

Verwandte Themen