本文整理汇总了Python中vcstools.svn.SvnClient类的典型用法代码示例。如果您正苦于以下问题:Python SvnClient类的具体用法?Python SvnClient怎么用?Python SvnClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SvnClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_get_environment_metadata
def test_get_environment_metadata(self):
# Verify that metadata is generated
directory = tempfile.mkdtemp()
self.directories['local'] = directory
local_path = os.path.join(directory, "local")
client = SvnClient(local_path)
self.assertTrue('version' in client.get_environment_metadata())
示例2: test_diff
def test_diff(self):
client = SvnClient(self.local_path)
self.assertTrue(client.path_exists())
self.assertTrue(client.detect_presence())
self.assertEqualDiffs('Index: added.txt\n===================================================================\n--- added.txt\t(revision 0)\n+++ added.txt\t(revision 0)\[email protected]@ -0,0 +1 @@\n+0123456789abcdef\n\\ No newline at end of file\nIndex: modified-fs.txt\n===================================================================\n--- modified-fs.txt\t(revision 3)\n+++ modified-fs.txt\t(working copy)\[email protected]@ -0,0 +1 @@\n+0123456789abcdef\n\\ No newline at end of file\nIndex: modified.txt\n===================================================================\n--- modified.txt\t(revision 3)\n+++ modified.txt\t(working copy)\[email protected]@ -0,0 +1 @@\n+0123456789abcdef\n\\ No newline at end of file',
client.get_diff().rstrip())
示例3: test_get_remote_branch_version
def test_get_remote_branch_version(self):
url = self.branch_url
client = SvnClient(self.local_path)
client.checkout(url)
self.assertEqual(client.get_remote_version(fetch=True),
self.local_version_foo_branch)
self.assertEqual(client.get_remote_version(fetch=False),
None)
示例4: test_checkout_dir_exists
def test_checkout_dir_exists(self):
url = self.local_url
client = SvnClient(self.local_path)
self.assertFalse(client.path_exists())
os.makedirs(self.local_path)
self.assertTrue(client.checkout(url))
# non-empty
self.assertFalse(client.checkout(url))
示例5: test_get_affected_files
def test_get_affected_files(self):
client = SvnClient(self.local_path)
client.checkout(self.local_url)
log = client.get_log(limit=1)[0]
affected = client.get_affected_files(log['id'])
self.assertEqual(sorted(['deleted-fs.txt', 'deleted.txt']),
sorted(affected))
示例6: test_diff_relpath
def test_diff_relpath(self):
from vcstools.svn import SvnClient
client = SvnClient(self.readonly_path)
self.assertTrue(client.path_exists())
self.assertTrue(client.detect_presence())
print 'Index: readonly/added.txt\n===================================================================\n--- readonly/added.txt\t(revision 0)\n+++ readonly/added.txt\t(revision 0)\[email protected]@ -0,0 +1 @@\n+0123456789abcdef\n\\ No newline at end of file\nIndex: readonly/modified-fs.txt\n===================================================================\n--- readonly/modified-fs.txt\t(revision 3)\n+++ readonly/modified-fs.txt\t(working copy)\[email protected]@ -0,0 +1 @@\n+0123456789abcdef\n\\ No newline at end of file\nIndex: readonly/modified.txt\n===================================================================\n--- readonly/modified.txt\t(revision 3)\n+++ readonly/modified.txt\t(working copy)\[email protected]@ -0,0 +1 @@\n+0123456789abcdef\n\\ No newline at end of file\n'
print client.get_diff(basepath=os.path.dirname(self.readonly_path))
self.assertEqualDiffs('Index: readonly/added.txt\n===================================================================\n--- readonly/added.txt\t(revision 0)\n+++ readonly/added.txt\t(revision 0)\[email protected]@ -0,0 +1 @@\n+0123456789abcdef\n\\ No newline at end of file\nIndex: readonly/modified-fs.txt\n===================================================================\n--- readonly/modified-fs.txt\t(revision 3)\n+++ readonly/modified-fs.txt\t(working copy)\[email protected]@ -0,0 +1 @@\n+0123456789abcdef\n\\ No newline at end of file\nIndex: readonly/modified.txt\n===================================================================\n--- readonly/modified.txt\t(revision 3)\n+++ readonly/modified.txt\t(working copy)\[email protected]@ -0,0 +1 @@\n+0123456789abcdef\n\\ No newline at end of file\n', client.get_diff(basepath=os.path.dirname(self.readonly_path)))
示例7: test_export_repository
def test_export_repository(self):
client = SvnClient(self.local_path)
self.assertTrue(
client.export_repository('',
self.basepath_export)
)
self.assertTrue(os.path.exists(self.basepath_export + '.tar.gz'))
self.assertFalse(os.path.exists(self.basepath_export + '.tar'))
self.assertFalse(os.path.exists(self.basepath_export))
示例8: test_get_log_defaults
def test_get_log_defaults(self):
client = SvnClient(self.local_path)
client.checkout(self.local_url)
log = client.get_log()
self.assertEquals(3, len(log))
self.assertEquals('modified', log[0]['message'])
for key in ['id', 'author', 'date', 'message']:
self.assertTrue(log[0][key] is not None, key)
# svn logs don't have email, but key should be in dict
self.assertTrue(log[0]['email'] is None)
示例9: test_checkout_emptyversion
def test_checkout_emptyversion(self):
url = self.local_url
client = SvnClient(self.local_path)
self.assertFalse(client.path_exists())
self.assertFalse(client.detect_presence())
self.assertFalse(client.detect_presence())
self.assertTrue(client.checkout(url, version=''))
self.assertTrue(client.path_exists())
self.assertTrue(client.detect_presence())
self.assertEqual(client.get_path(), self.local_path)
self.assertEqual(client.get_url(), url)
self.assertTrue(client.update(None))
self.assertTrue(client.update(""))
示例10: test_checkout_specific_version_and_update_short
def test_checkout_specific_version_and_update_short(self):
"using just a number as version"
url = self.local_url
version = "3"
client = SvnClient(self.local_path)
self.assertFalse(client.path_exists())
self.assertFalse(client.detect_presence())
self.assertTrue(client.checkout(url, version))
self.assertTrue(client.path_exists())
self.assertTrue(client.detect_presence())
self.assertEqual(client.get_version(), "-r3")
new_version = '2'
self.assertTrue(client.update(new_version))
self.assertEqual(client.get_version(), "-r2")
示例11: test_checkout
def test_checkout(self):
url = self.local_url
client = SvnClient(self.local_path)
self.assertFalse(client.path_exists())
self.assertFalse(client.detect_presence())
self.assertFalse(client.detect_presence())
self.assertTrue(client.checkout(url))
self.assertTrue(client.path_exists())
self.assertTrue(client.detect_presence())
self.assertEqual(client.get_path(), self.local_path)
self.assertEqual(client.get_url(), url)
示例12: test_get_branches_non_canonical
def test_get_branches_non_canonical(self):
remote_path = os.path.join(self.root_directory, "remote_nc")
init_path = os.path.join(self.root_directory, "init_nc")
local_path = os.path.join(self.root_directory, "local_nc")
# create a "remote" repo
subprocess.check_call("svnadmin create %s" % remote_path, shell=True, cwd=self.root_directory)
local_root_url = "file://localhost/" + remote_path
local_url = local_root_url + "/footest"
# create an "init" repo to populate remote repo
subprocess.check_call("svn checkout %s %s" % (local_root_url, init_path), shell=True, cwd=self.root_directory)
for cmd in [
"mkdir footest",
"mkdir footest/foosub",
"touch footest/foosub/fixed.txt",
"svn add footest",
"svn commit -m initial"]:
subprocess.check_call(cmd, shell=True, cwd=init_path)
client = SvnClient(local_path)
client.checkout(local_url)
self.assertEqual([], client.get_branches())
示例13: setUpClass
def setUpClass(self):
SvnClientTestSetups.setUpClass()
client = SvnClient(self.local_path)
client.checkout(self.local_url)
# after setting up "local" repo, change files and make some changes
subprocess.check_call("rm deleted-fs.txt", shell=True, cwd=self.local_path)
subprocess.check_call("svn rm deleted.txt", shell=True, cwd=self.local_path)
f = io.open(os.path.join(self.local_path, "modified.txt"), 'a')
f.write('0123456789abcdef')
f.close()
f = io.open(os.path.join(self.local_path, "modified-fs.txt"), 'a')
f.write('0123456789abcdef')
f.close()
f = io.open(os.path.join(self.local_path, "added-fs.txt"), 'w')
f.write('0123456789abcdef')
f.close()
f = io.open(os.path.join(self.local_path, "added.txt"), 'w')
f.write('0123456789abcdef')
f.close()
subprocess.check_call("svn add added.txt", shell=True, cwd=self.local_path)
示例14: test_checkout
def test_checkout(self):
from vcstools.svn import SvnClient
directory = tempfile.mkdtemp()
self.directories["checkout_test"] = directory
local_path = os.path.join(directory, "ros")
url = self.readonly_url
client = SvnClient(local_path)
self.assertFalse(client.path_exists())
self.assertFalse(client.detect_presence())
self.assertFalse(client.detect_presence())
self.assertTrue(client.checkout(url))
self.assertTrue(client.path_exists())
self.assertTrue(client.detect_presence())
self.assertEqual(client.get_path(), local_path)
self.assertEqual(client.get_url(), url)
示例15: setUp
def setUp(self):
from vcstools.svn import SvnClient
directory = tempfile.mkdtemp()
self.directories = dict(setUp=directory)
remote_path = os.path.join(directory, "remote")
init_path = os.path.join(directory, "remote")
# create a "remote" repo
subprocess.check_call(["svnadmin", "create", remote_path], cwd=directory)
self.readonly_url = "file://localhost"+remote_path
# create an "init" repo to feed remote repo
subprocess.check_call(["svn", "checkout", self.readonly_url, init_path], cwd=directory)
subprocess.check_call(["touch", "fixed.txt"], cwd=init_path)
subprocess.check_call(["svn", "add", "fixed.txt"], cwd=init_path)
subprocess.check_call(["svn", "commit", "-m", "initial"], cwd=init_path)
self.readonly_version_init = "-r1"
# files to be modified in "local" repo
subprocess.check_call(["touch", "modified.txt"], cwd=init_path)
subprocess.check_call(["touch", "modified-fs.txt"], cwd=init_path)
subprocess.check_call(["svn", "add", "modified.txt", "modified-fs.txt"], cwd=init_path)
subprocess.check_call(["svn", "commit", "-m", "initial"], cwd=init_path)
self.readonly_version_second = "-r2"
subprocess.check_call(["touch", "deleted.txt"], cwd=init_path)
subprocess.check_call(["touch", "deleted-fs.txt"], cwd=init_path)
subprocess.check_call(["svn", "add", "deleted.txt", "deleted-fs.txt"], cwd=init_path)
subprocess.check_call(["svn", "commit", "-m", "modified"], cwd=init_path)
self.readonly_version = "-r3"
self.readonly_path = os.path.join(directory, "readonly")
client = SvnClient(self.readonly_path)
self.assertTrue(client.checkout(self.readonly_url, self.readonly_version))