Karena struktur kompleks dalam repositori SVN, beberapa file eksternal tidak diambil dengan benar dari repositori. Karena mengubah struktur repositori bukanlah suatu pilihan, saya telah mengembangkan skrip yang beralih melalui eksternal dan mengambilnya 'dengan tangan' jika diperlukan (terima kasih kepada 'ekspor svn'). Untuk mendeteksi apakah operasi ini memang diperlukan, saya menjalankan 'svn info', dengan asumsi bahwa ia akan kembali berbeda dari 0 jika file tidak ada, atau tidak diversi. Itu memang perilaku yang diperoleh di host1 (SVN Client 1.6.17):
# Initially, the directory is empty
host1$ ls
host1$ svn update
Fetching external item into 'main.rbf'
svn: warning: '<REMOTE_SVN_LOCATION1>'
is not the same repository as
'<REMOTE_SVN_LOCATION2>'
At revision 18413.
# Although we do the update, the external item is not fetched,
# as it is a single file coming from a different repository
# (known problem)
host1$ ls
# The file is not present, and SVN info acts accordingly
host1$ svn info main.rbf
main.rbf: (Not a versioned resource)
svn: A problem occurred; see other errors for details
# If we force the SVN export
host1$ svn export <REMOTE_SVN_LOCATION1> main.rbf
A main.rbf
Export complete.
host1$ ls
main.rbf
# then SVN info detects it and acts accordingly
host1$ svn info main.rbf
main.rbf: (Not a versioned resource)
svn: A problem occurred; see other errors for details
host1$
Di host2, (Klien SVN 1.6.11), perilaku 'Info SVN' benar-benar berbeda: tidak masalah apakah file tersebut ada (dari ekspor sebelumnya) atau tidak, jawabannya adalah:
# Directory is empty
host2$ ls
host2$ svn info
Path: .
URL: <REMOTE_LOCATION>
Repository Root: ...
Repository UUID: ...
Revision: 18413
Node Kind: directory
Schedule: normal
Last Changed Author: ...
Last Changed Rev: 18326
Last Changed Date: ...
host2$
Apakah ada alasan untuk menjelaskan perilaku tidak konsisten ini? Bagaimana saya bisa mendeteksi file tidak berversi ini di host2?