Я использую 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
Точно так же, как черепаха делает это, если я перетаскиваю файл из браузера Retro на свой локальный диск, но черепаха также может копировать отдельные файлы в другой ревизии. Кто-нибудь сейчас, как я могу реализовать это в pysvn или в простом коде Python? Если эти функции реализованы с помощью черепахи, это должно быть возможно и в pysvn ... из-за той же команды разработчиков.