Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/tests/cmdline/commit_tests.py view on Meta::CPAN
A = sbox.ospath('A')
D = sbox.ospath('A/D')
G = sbox.ospath('A/D/G')
error_re = "remains in conflict"
commit_fails_at_path(wc_dir, wc_dir, error_re)
commit_fails_at_path(A, A, error_re)
commit_fails_at_path(D, D, error_re)
commit_fails_at_path(G, G, error_re)
commit_fails_at_path(os.path.join(G, 'pi'), G, error_re)
def tree_conflicts_resolved(sbox):
"tree conflicts resolved"
# Commit is allowed after tree conflicts are resolved.
# This test corresponds to use cases 1-3 in
# notes/tree-conflicts/use-cases.txt.
svntest.actions.build_greek_tree_conflicts(sbox)
wc_dir = sbox.wc_dir
# Duplicate wc for tests
wc_dir_2 = sbox.add_wc_path('2')
svntest.actions.duplicate_dir(wc_dir, wc_dir_2)
# Mark the tree conflict victims as resolved
G = sbox.ospath('A/D/G')
victims = [ os.path.join(G, v) for v in ['pi', 'rho', 'tau'] ]
svntest.actions.run_and_verify_resolved(victims)
expected_status = svntest.actions.get_virginal_state(wc_dir, 2)
expected_status.tweak('A/D/G/pi', status='D ')
expected_status.tweak('A/D/G/rho', status='A ', copied='+', wc_rev='-')
expected_status.remove('A/D/G/tau')
svntest.actions.run_and_verify_status(wc_dir, expected_status)
# Recursively resolved in parent directory -- expect same result
G2 = os.path.join(wc_dir_2, 'A', 'D', 'G')
victims = [ os.path.join(G2, v) for v in ['pi', 'rho', 'tau'] ]
svntest.actions.run_and_verify_resolved(victims, G2, '-R')
expected_status.wc_dir = wc_dir_2
svntest.actions.run_and_verify_status(wc_dir_2, expected_status)
#----------------------------------------------------------------------
def commit_multiple_nested_deletes(sbox):
"committing multiple nested deletes"
sbox.build()
wc_dir = sbox.wc_dir
A = sbox.ospath('A')
A_B = os.path.join(A, 'B')
sbox.simple_rm('A')
svntest.main.run_svn(None, 'ci', A, A_B, '-m', 'Q')
@Issue(4042)
def commit_incomplete(sbox):
"commit an incomplete dir"
sbox.build()
wc_dir = sbox.wc_dir
sbox.simple_propset('pname', 'pval', 'A/B')
svntest.actions.set_incomplete(sbox.ospath('A/B'), 1)
expected_output = svntest.wc.State(wc_dir, {
'A/B' : Item(verb='Sending'),
})
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_status.tweak('A/B', status='! ', wc_rev=2)
svntest.actions.run_and_verify_commit(wc_dir,
expected_output,
expected_status,
None,
wc_dir)
#----------------------------------------------------------------------
# Reported here:
# Message-ID: <4EBF0FC9.300@gmail.com>
# Date: Sun, 13 Nov 2011 13:31:05 +1300
# From: Fergus Slorach <sugref@gmail.com>
# Subject: svn commit --targets behaviour change in 1.7?
@Issue(4059)
def commit_add_subadd(sbox):
"committing add with explicit subadd targets"
sbox.build()
wc_dir = sbox.wc_dir
targets_file = sbox.ospath('targets') # ### better tempdir?
targets_file = os.path.abspath(targets_file)
# prepare targets file
targets = "A/D A/D/H A/D/H/chi A/D/H/omega A/D/H/psi".split()
open(targets_file, 'w').write("\n".join(targets))
# r2: rm A/D
sbox.simple_rm('A/D')
sbox.simple_commit(message='rm')
# r3: revert r2, with specific invocation
os.chdir(wc_dir)
svntest.main.run_svn(None, 'up')
svntest.main.run_svn(None, 'merge', '-c', '-2', './')
svntest.main.run_svn(None, 'commit', '--targets', targets_file, '-mm')
def commit_danglers(sbox):
"verify committing some dangling children fails"
sbox.build(read_only=True)
wc_dir = sbox.wc_dir
sbox.simple_copy('A','A_copied')
A_copied = sbox.ospath('A_copied')
( run in 0.477 second using v1.01-cache-2.11-cpan-39bf76dae61 )