Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/tests/cmdline/commit_tests.py view on Meta::CPAN
# _ 1 ( 5) working_copies/commit_tests-10/A/B/lambda
# _ 1 ( 5) working_copies/commit_tests-10/A/C
# _ 1 ( 5) working_copies/commit_tests-10/A/D
# _ 1 ( 5) working_copies/commit_tests-10/A/D/G
# _ 1 ( 5) working_copies/commit_tests-10/A/D/G/pi
# _ 1 ( 5) working_copies/commit_tests-10/A/D/G/rho
# _ 1 ( 5) working_copies/commit_tests-10/A/D/G/tau
# _ 2 ( 5) working_copies/commit_tests-10/A/D/H
# _ 4 ( 5) working_copies/commit_tests-10/A/D/H/chi
# _ 2 ( 5) working_copies/commit_tests-10/A/D/H/omega
# _ 2 ( 5) working_copies/commit_tests-10/A/D/H/psi
# _ 1 ( 5) working_copies/commit_tests-10/A/D/gamma
# _ 1 ( 5) working_copies/commit_tests-10/A/mu
# _ 5 ( 5) working_copies/commit_tests-10/iota
# At this point, we're ready to modify omega and iota, and commit
# from the top. We should *not* get a conflict!
svntest.main.file_append(iota_path, "finalmoo")
svntest.main.file_append(omega_path, "finalmoo")
expected_output = svntest.wc.State(wc_dir, {
'iota' : Item(verb='Sending'),
'A/D/H/omega' : Item(verb='Sending'),
})
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_status.tweak('iota', 'A/D/H/omega', wc_rev=6)
expected_status.tweak('A/D/H', 'A/D/H/psi', wc_rev=2)
expected_status.tweak('A/D/H/chi', wc_rev=4)
svntest.actions.run_and_verify_commit(wc_dir,
expected_output,
expected_status,
None, wc_dir)
#----------------------------------------------------------------------
def commit_uri_unsafe(sbox):
"commit files and dirs with URI-unsafe characters"
sbox.build()
wc_dir = sbox.wc_dir
# Note: on Windows, files can't have angle brackets in them, so we
# don't tests that case.
if svntest.main.windows or sys.platform == 'cygwin':
angle_name = '_angle_'
nasty_name = '#![]{}()__%'
else:
angle_name = '<angle>'
nasty_name = '#![]{}()<>%'
# Make some convenient paths.
hash_dir = sbox.ospath('#hash#')
nasty_dir = os.path.join(wc_dir, nasty_name)
space_path = sbox.ospath('A/D/space path')
bang_path = sbox.ospath('A/D/H/bang!')
bracket_path = sbox.ospath('A/D/H/bra[ket')
brace_path = sbox.ospath('A/D/H/bra{e')
angle_path = os.path.join(wc_dir, 'A', 'D', 'H', angle_name)
paren_path = sbox.ospath('A/D/pare)(theses')
percent_path = sbox.ospath('#hash#/percen%')
nasty_path = os.path.join(wc_dir, 'A', nasty_name)
os.mkdir(hash_dir)
os.mkdir(nasty_dir)
svntest.main.file_append(space_path, "This path has a space in it.")
svntest.main.file_append(bang_path, "This path has a bang in it.")
svntest.main.file_append(bracket_path, "This path has a bracket in it.")
svntest.main.file_append(brace_path, "This path has a brace in it.")
svntest.main.file_append(angle_path, "This path has angle brackets in it.")
svntest.main.file_append(paren_path, "This path has parentheses in it.")
svntest.main.file_append(percent_path, "This path has a percent in it.")
svntest.main.file_append(nasty_path, "This path has all sorts of ick in it.")
add_list = [hash_dir,
nasty_dir, # not xml-safe
space_path,
bang_path,
bracket_path,
brace_path,
angle_path, # not xml-safe
paren_path,
percent_path,
nasty_path, # not xml-safe
]
for item in add_list:
svntest.main.run_svn(None, 'add', '--depth=empty', item)
expected_output = svntest.wc.State(wc_dir, {
'#hash#' : Item(verb='Adding'),
nasty_name : Item(verb='Adding'),
'A/D/space path' : Item(verb='Adding'),
'A/D/H/bang!' : Item(verb='Adding'),
'A/D/H/bra[ket' : Item(verb='Adding'),
'A/D/H/bra{e' : Item(verb='Adding'),
'A/D/H/' + angle_name : Item(verb='Adding'),
'A/D/pare)(theses' : Item(verb='Adding'),
'#hash#/percen%' : Item(verb='Adding'),
'A/' + nasty_name : Item(verb='Adding'),
})
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
# Items in our add list will be at rev 2
for item in expected_output.desc.keys():
expected_status.add({ item : Item(wc_rev=2, status=' ') })
svntest.actions.run_and_verify_commit(wc_dir,
expected_output,
expected_status,
None, wc_dir)
#----------------------------------------------------------------------
def commit_deleted_edited(sbox):
"commit deleted yet edited files"
sbox.build()
wc_dir = sbox.wc_dir
# Make some convenient paths.
iota_path = sbox.ospath('iota')
mu_path = sbox.ospath('A/mu')
# Edit the files.
svntest.main.file_append(iota_path, "This file has been edited.")
svntest.main.file_append(mu_path, "This file has been edited.")
# Schedule the files for removal.
svntest.main.run_svn(None, 'remove', '--force', iota_path)
svntest.main.run_svn(None, 'remove', '--force', mu_path)
# Make our output list
expected_output = svntest.wc.State(wc_dir, {
'iota' : Item(verb='Deleting'),
'A/mu' : Item(verb='Deleting'),
})
# Items in the status list are all at rev 1, except the two things
# we changed...but then, they don't exist at all.
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_status.remove('iota', 'A/mu')
( run in 2.867 seconds using v1.01-cache-2.11-cpan-0d23b851a93 )