pysvn 1.7.5 を使用して svn サーバーにアクセスしています。単一のファイルを svn サーバーからローカル ディスクにコピーする場合、実装されている pysvn 関数はありません。しかし、https で接続すると、ディレクトリでホール チェックアウトを実行せずに、単一のファイルをコピーできます。
def fetch_svn_file(self, file_url, local_path):
local_path = local_path.replace('\\', '/')
# Set up a HTTPS request with username/password authentication
try:
# create a password manager
password_mgr = HTTPPasswordMgrWithDefaultRealm()
# Add the username and password.
password_mgr.add_password(None, 'https://www.xyz.com', self.default_user, self.default_passwd)
opener = build_opener(HTTPBasicAuthHandler(password_mgr))
remote_file = opener.open(file_url)
content = remote_file.read()
try:
local_file = open(local_path,"w")
local_file.write(content)
local_file.close()
except IOError:
return -1
except URLError, e:
print 'URLError: "%s"' % e
return -2
return 0
レトロブラウザからローカルディスクにファイルをドラッグすると、カメがそれを行うのと同じ方法ですが、カメは別のリビジョンに単一のファイルをコピーすることもできます。pysvnまたは単純なpythonコードでこれを実現するにはどうすればよいですか?? これらの機能が亀によって実装されている場合、pysvnでも可能でなければなりません...同じ開発者チームのためです。