You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pr...@apache.org on 2013/01/29 08:34:55 UTC
svn commit: r1439765 - in /subversion/branches/verify-keep-going: ./
subversion/libsvn_wc/ subversion/svn/ subversion/tests/cmdline/
subversion/tests/cmdline/upgrade_tests_data/ tools/dist/
tools/hook-scripts/mailer/ tools/server-side/
Author: prabhugs
Date: Tue Jan 29 07:34:55 2013
New Revision: 1439765
URL: http://svn.apache.org/viewvc?rev=1439765&view=rev
Log:
Merging r1439433 through r1439754 from trunk to verify-keep-going branch.
Added:
subversion/branches/verify-keep-going/subversion/tests/cmdline/upgrade_tests_data/upgrade_from_1_7_wc.tar.bz2
- copied unchanged from r1439754, subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/upgrade_from_1_7_wc.tar.bz2
Modified:
subversion/branches/verify-keep-going/ (props changed)
subversion/branches/verify-keep-going/subversion/libsvn_wc/adm_crawler.c
subversion/branches/verify-keep-going/subversion/libsvn_wc/conflicts.c
subversion/branches/verify-keep-going/subversion/libsvn_wc/conflicts.h
subversion/branches/verify-keep-going/subversion/libsvn_wc/old-and-busted.c
subversion/branches/verify-keep-going/subversion/libsvn_wc/upgrade.c
subversion/branches/verify-keep-going/subversion/libsvn_wc/wc_db.c
subversion/branches/verify-keep-going/subversion/svn/update-cmd.c
subversion/branches/verify-keep-going/subversion/tests/cmdline/update_tests.py
subversion/branches/verify-keep-going/subversion/tests/cmdline/upgrade_tests.py
subversion/branches/verify-keep-going/tools/dist/make-deps-tarball.sh (props changed)
subversion/branches/verify-keep-going/tools/hook-scripts/mailer/mailer.conf.example
subversion/branches/verify-keep-going/tools/hook-scripts/mailer/mailer.py
subversion/branches/verify-keep-going/tools/server-side/ (props changed)
Propchange: subversion/branches/verify-keep-going/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1439280-1439754
Modified: subversion/branches/verify-keep-going/subversion/libsvn_wc/adm_crawler.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_wc/adm_crawler.c?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_wc/adm_crawler.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_wc/adm_crawler.c Tue Jan 29 07:34:55 2013
@@ -58,8 +58,8 @@
last-commit-time. Either way, set entry-timestamp to match that of
the working file when all is finished.
- If REMOVE_TEXT_CONFLICT is TRUE, remove an existing text conflict
- from LOCAL_ABSPATH.
+ If MARK_RESOLVED_TEXT_CONFLICT is TRUE, mark as resolved any existing
+ text conflict on LOCAL_ABSPATH.
Not that a valid access baton with a write lock to the directory of
LOCAL_ABSPATH must be available in DB.*/
@@ -67,7 +67,7 @@ static svn_error_t *
restore_file(svn_wc__db_t *db,
const char *local_abspath,
svn_boolean_t use_commit_times,
- svn_boolean_t remove_text_conflicts,
+ svn_boolean_t mark_resolved_text_conflict,
apr_pool_t *scratch_pool)
{
svn_skel_t *work_item;
@@ -89,8 +89,8 @@ restore_file(svn_wc__db_t *db,
scratch_pool));
/* Remove any text conflict */
- if (remove_text_conflicts)
- SVN_ERR(svn_wc__resolve_text_conflict(db, local_abspath, scratch_pool));
+ if (mark_resolved_text_conflict)
+ SVN_ERR(svn_wc__mark_resolved_text_conflict(db, local_abspath, scratch_pool));
return SVN_NO_ERROR;
}
@@ -135,7 +135,8 @@ svn_wc_restore(svn_wc_context_t *wc_ctx,
}
if (kind == svn_kind_file || kind == svn_kind_symlink)
- SVN_ERR(restore_file(wc_ctx->db, local_abspath, use_commit_times, FALSE,
+ SVN_ERR(restore_file(wc_ctx->db, local_abspath, use_commit_times,
+ FALSE /*mark_resolved_text_conflict*/,
scratch_pool));
else
SVN_ERR(svn_io_dir_make(local_abspath, APR_OS_DEFAULT, scratch_pool));
@@ -161,8 +162,9 @@ restore_node(svn_wc__db_t *db,
{
if (kind == svn_kind_file || kind == svn_kind_symlink)
{
- /* Recreate file from text-base */
- SVN_ERR(restore_file(db, local_abspath, use_commit_times, TRUE,
+ /* Recreate file from text-base; mark any text conflict as resolved */
+ SVN_ERR(restore_file(db, local_abspath, use_commit_times,
+ TRUE /*mark_resolved_text_conflict*/,
scratch_pool));
}
else if (kind == svn_kind_dir)
Modified: subversion/branches/verify-keep-going/subversion/libsvn_wc/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_wc/conflicts.c?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_wc/conflicts.c Tue Jan 29 07:34:55 2013
@@ -2566,9 +2566,9 @@ resolve_conflict_on_node(svn_boolean_t *
svn_error_t *
-svn_wc__resolve_text_conflict(svn_wc__db_t *db,
- const char *local_abspath,
- apr_pool_t *scratch_pool)
+svn_wc__mark_resolved_text_conflict(svn_wc__db_t *db,
+ const char *local_abspath,
+ apr_pool_t *scratch_pool)
{
svn_boolean_t ignored_result;
Modified: subversion/branches/verify-keep-going/subversion/libsvn_wc/conflicts.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_wc/conflicts.h?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_wc/conflicts.h (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_wc/conflicts.h Tue Jan 29 07:34:55 2013
@@ -401,11 +401,11 @@ svn_wc__conflict_invoke_resolver(svn_wc_
apr_pool_t *scratch_pool);
-/* Resolve text conflicts on the given node. */
+/* Mark as resolved any text conflict on the node at DB/LOCAL_ABSPATH. */
svn_error_t *
-svn_wc__resolve_text_conflict(svn_wc__db_t *db,
- const char *local_abspath,
- apr_pool_t *scratch_pool);
+svn_wc__mark_resolved_text_conflict(svn_wc__db_t *db,
+ const char *local_abspath,
+ apr_pool_t *scratch_pool);
#ifdef __cplusplus
}
Modified: subversion/branches/verify-keep-going/subversion/libsvn_wc/old-and-busted.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_wc/old-and-busted.c?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_wc/old-and-busted.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_wc/old-and-busted.c Tue Jan 29 07:34:55 2013
@@ -1264,7 +1264,7 @@ svn_wc__read_entries_old(apr_hash_t **en
}
/* Fill in any implied fields. */
- return resolve_to_defaults(*entries, result_pool);
+ return svn_error_trace(resolve_to_defaults(*entries, result_pool));
}
Modified: subversion/branches/verify-keep-going/subversion/libsvn_wc/upgrade.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_wc/upgrade.c?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_wc/upgrade.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_wc/upgrade.c Tue Jan 29 07:34:55 2013
@@ -1504,22 +1504,19 @@ bump_to_30(void *baton, svn_sqlite__db_t
svn_boolean_t have_row;
apr_pool_t *iterpool = svn_pool_create(scratch_pool);
svn_sqlite__stmt_t *stmt;
- svn_sqlite__stmt_t *stmt_store;
svn_wc__db_t *db; /* Read only temp db */
const char *wri_abspath = bb->wcroot_abspath;
SVN_ERR(svn_wc__db_open(&db, NULL, FALSE, FALSE,
scratch_pool, scratch_pool));
- SVN_ERR(svn_sqlite__get_statement(&stmt_store, sdb,
- STMT_UPGRADE_30_SET_CONFLICT));
-
SVN_ERR(svn_sqlite__get_statement(&stmt, sdb,
STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE));
SVN_ERR(svn_sqlite__step(&have_row, stmt));
while (have_row)
{
+ svn_sqlite__stmt_t *stmt_store;
svn_stringbuf_t *skel_data;
svn_skel_t *conflict_data;
apr_int64_t wc_id = svn_sqlite__column_int64(stmt, 0);
@@ -1549,6 +1546,8 @@ bump_to_30(void *baton, svn_sqlite__db_t
skel_data = svn_skel__unparse(conflict_data, iterpool);
+ SVN_ERR(svn_sqlite__get_statement(&stmt_store, sdb,
+ STMT_UPGRADE_30_SET_CONFLICT));
SVN_ERR(svn_sqlite__bindf(stmt_store, "isb", wc_id, local_relpath,
skel_data->data, skel_data->len));
SVN_ERR(svn_sqlite__step_done(stmt_store));
Modified: subversion/branches/verify-keep-going/subversion/libsvn_wc/wc_db.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_wc/wc_db.c?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_wc/wc_db.c Tue Jan 29 07:34:55 2013
@@ -14239,6 +14239,7 @@ svn_wc__db_bump_format(int *result_forma
{
svn_sqlite__db_t *sdb;
svn_error_t *err;
+ svn_error_t *upgrade_err;
int format;
/* Do not scan upwards for a working copy root here to prevent accidental
@@ -14274,11 +14275,11 @@ svn_wc__db_bump_format(int *result_forma
}
SVN_ERR(svn_sqlite__read_schema_version(&format, sdb, scratch_pool));
- SVN_ERR(svn_wc__upgrade_sdb(result_format, wcroot_abspath,
- sdb, format, scratch_pool));
- SVN_ERR(svn_sqlite__close(sdb));
+ upgrade_err = svn_wc__upgrade_sdb(result_format, wcroot_abspath,
+ sdb, format, scratch_pool);
+ err = svn_sqlite__close(sdb);
- return SVN_NO_ERROR;
+ return svn_error_compose_create(upgrade_err, err);
}
svn_error_t *
Modified: subversion/branches/verify-keep-going/subversion/svn/update-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/svn/update-cmd.c?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/svn/update-cmd.c (original)
+++ subversion/branches/verify-keep-going/subversion/svn/update-cmd.c Tue Jan 29 07:34:55 2013
@@ -51,12 +51,12 @@ print_update_summary(apr_array_header_t
int i;
const char *path_prefix;
apr_pool_t *iterpool;
+ svn_boolean_t printed_header = FALSE;
if (targets->nelts < 2)
return SVN_NO_ERROR;
SVN_ERR(svn_dirent_get_absolute(&path_prefix, "", scratch_pool));
- SVN_ERR(svn_cmdline_printf(scratch_pool, _("Summary of updates:\n")));
iterpool = svn_pool_create(scratch_pool);
@@ -87,6 +87,13 @@ print_update_summary(apr_array_header_t
/* Print an update summary for this target, removing the current
working directory prefix from PATH (if PATH is at or under
$CWD), and converting the path to local style for display. */
+ if (! printed_header)
+ {
+ SVN_ERR(svn_cmdline_printf(scratch_pool,
+ _("Summary of updates:\n")));
+ printed_header = TRUE;
+ }
+
SVN_ERR(svn_cmdline_printf(iterpool, _(" Updated '%s' to r%ld.\n"),
svn_cl__local_style_skip_ancestor(
path_prefix, path, iterpool),
Modified: subversion/branches/verify-keep-going/subversion/tests/cmdline/update_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/tests/cmdline/update_tests.py?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/tests/cmdline/update_tests.py (original)
+++ subversion/branches/verify-keep-going/subversion/tests/cmdline/update_tests.py Tue Jan 29 07:34:55 2013
@@ -5478,7 +5478,6 @@ def update_moved_dir_leaf_del(sbox):
expected_status.remove('A/B/E2/alpha')
svntest.actions.run_and_verify_status(wc_dir, expected_status)
-@XFail()
@Issue(3144,3630)
# Like break_moved_dir_edited_leaf_del, but with --accept=mine-conflict
def update_moved_dir_edited_leaf_del(sbox):
@@ -5527,13 +5526,13 @@ def update_moved_dir_edited_leaf_del(sbo
# Now resolve the conflict, using --accept=mine-conflict.
# This should apply the update to A/B/E2, and flag a tree
# conflict on A/B/E2/alpha (incoming delete vs. local edit)
- # XFAIL: Currently the A/B/E2/alpha is deleted during this update.
svntest.actions.run_and_verify_svn("resolve failed", None, [],
'resolve',
- '--recursive',
- '--accept=mine-conflict', wc_dir)
+ '--accept=mine-conflict',
+ sbox.ospath('A/B/E'))
expected_status.tweak('A/B/E', treeconflict=None)
- expected_status.tweak('A/B/E2/alpha', treeconflict='C')
+ expected_status.tweak('A/B/E2/alpha', status='A ', copied='+', wc_rev='-',
+ entry_status=' ', treeconflict='C')
svntest.actions.run_and_verify_status(wc_dir, expected_status)
def update_moved_dir_file_add(sbox):
@@ -5714,7 +5713,6 @@ def update_moved_dir_file_move(sbox):
svntest.actions.run_and_verify_status(wc_dir, expected_status)
-@XFail()
@Issue(3144,3630)
def update_move_text_mod(sbox):
"text mod to moved files"
@@ -5732,31 +5730,36 @@ def update_move_text_mod(sbox):
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_status.tweak('A/B/E', 'A/B/E/alpha', 'A/B/E/beta', 'A/B/lambda',
status='D ')
+ expected_status.tweak('A/B/E', moved_to='A/E2')
+ expected_status.tweak('A/B/lambda', moved_to='A/lambda2')
expected_status.add({
- 'A/E2' : Item(status='A ', copied='+', wc_rev='-'),
+ 'A/E2' : Item(status='A ', copied='+', wc_rev='-',
+ moved_from='A/B/E'),
'A/E2/alpha' : Item(status=' ', copied='+', wc_rev='-'),
'A/E2/beta' : Item(status=' ', copied='+', wc_rev='-'),
- 'A/lambda2' : Item(status='A ', copied='+', wc_rev='-'),
+ 'A/lambda2' : Item(status='A ', copied='+', wc_rev='-',
+ moved_from='A/B/lambda'),
})
svntest.actions.run_and_verify_status(wc_dir, expected_status)
expected_output = svntest.wc.State(wc_dir, {
- 'A/lambda2' : Item(status='U '),
- 'A/E2/beta' : Item(status='U '),
+ 'A/B/lambda' : Item(status=' ', treeconflict='C'),
+ 'A/B/E' : Item(status=' ', treeconflict='C'),
+ 'A/B/E/beta' : Item(status=' ', treeconflict='U'),
})
expected_disk = svntest.main.greek_state.copy()
expected_disk.remove('A/B/E/alpha', 'A/B/E/beta', 'A/B/E', 'A/B/lambda')
expected_disk.add({
'A/E2' : Item(),
'A/E2/alpha' : Item(contents="This is the file 'alpha'.\n"),
- 'A/E2/beta' : Item(contents="This is the file 'beta'.\nmodified\n"),
- 'A/lambda2' : Item(contents="This is the file 'lambda'.\nmodified\n"),
+ 'A/E2/beta' : Item(contents="This is the file 'beta'.\n"),
+ 'A/lambda2' : Item(contents="This is the file 'lambda'.\n"),
})
expected_status.tweak(wc_rev=2)
+ expected_status.tweak('A/B/E', 'A/B/lambda', treeconflict='C')
expected_status.tweak('A/E2', 'A/E2/alpha', 'A/E2/beta', 'A/lambda2',
wc_rev='-')
- ### XFAIL 'A/E2/beta' is status R but should be ' '
svntest.actions.run_and_verify_update(wc_dir,
expected_output,
expected_disk,
@@ -5764,7 +5767,22 @@ def update_move_text_mod(sbox):
None, None, None,
None, None, 1)
-@XFail()
+ svntest.actions.run_and_verify_svn("resolve failed", None, [],
+ 'resolve',
+ '--recursive',
+ '--accept=mine-conflict',
+ wc_dir)
+
+ expected_status.tweak('A/B/E', 'A/B/lambda', treeconflict=None)
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
+
+ expected_disk.tweak('A/E2/beta',
+ contents="This is the file 'beta'.\nmodified\n"),
+ expected_disk.tweak('A/lambda2',
+ contents="This is the file 'lambda'.\nmodified\n"),
+ svntest.actions.verify_disk(wc_dir, expected_disk, check_props = True)
+
+
@Issue(3144,3630)
def update_nested_move_text_mod(sbox):
"text mod to moved file in moved dir"
@@ -5780,29 +5798,34 @@ def update_nested_move_text_mod(sbox):
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_status.tweak('A/B/E', 'A/B/E/alpha', 'A/B/E/beta', status='D ')
+ expected_status.tweak('A/B/E', moved_to='A/E2')
expected_status.add({
- 'A/E2' : Item(status='A ', copied='+', wc_rev='-'),
- 'A/E2/alpha' : Item(status='D ', copied='+', wc_rev='-'),
+ 'A/E2' : Item(status='A ', copied='+', wc_rev='-',
+ moved_from='A/B/E'),
+ 'A/E2/alpha' : Item(status='D ', copied='+', wc_rev='-',
+ moved_to='A/alpha2'),
'A/E2/beta' : Item(status=' ', copied='+', wc_rev='-'),
- 'A/alpha2' : Item(status='A ', copied='+', wc_rev='-'),
+ 'A/alpha2' : Item(status='A ', copied='+', wc_rev='-',
+ moved_from='A/E2/alpha'),
})
svntest.actions.run_and_verify_status(wc_dir, expected_status)
expected_output = svntest.wc.State(wc_dir, {
- 'A/alpha2' : Item(status='U '),
+ 'A/B/E' : Item(status=' ', treeconflict='C'),
+ 'A/B/E/alpha' : Item(status=' ', treeconflict='U'),
})
expected_disk = svntest.main.greek_state.copy()
expected_disk.remove('A/B/E/alpha', 'A/B/E/beta', 'A/B/E')
expected_disk.add({
'A/E2' : Item(),
'A/E2/beta' : Item(contents="This is the file 'beta'.\n"),
- 'A/alpha2' : Item(contents="This is the file 'alpha'.\nmodified\n"),
+ 'A/alpha2' : Item(contents="This is the file 'alpha'.\n"),
})
expected_status.tweak(wc_rev=2)
+ expected_status.tweak('A/B/E', treeconflict='C')
expected_status.tweak('A/E2', 'A/E2/alpha', 'A/E2/beta', 'A/alpha2',
wc_rev='-')
- ### XFAIL update fails 'No such file'
svntest.actions.run_and_verify_update(wc_dir,
expected_output,
expected_disk,
@@ -5810,6 +5833,19 @@ def update_nested_move_text_mod(sbox):
None, None, None,
None, None, 1)
+ svntest.actions.run_and_verify_svn("resolve failed", None, [],
+ 'resolve',
+ '--recursive',
+ '--accept=mine-conflict',
+ wc_dir)
+
+ expected_status.tweak('A/B/E', treeconflict=None)
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
+
+ expected_disk.tweak('A/alpha2',
+ contents="This is the file 'alpha'.\nmodified\n"),
+ svntest.actions.verify_disk(wc_dir, expected_disk, check_props = True)
+
def update_with_parents_and_exclude(sbox):
"bring a subtree in over an excluded path"
@@ -6428,6 +6464,37 @@ def update_swapped_depth_dirs(sbox):
None, None, 1)
+ # Further update and expect a conflict.
+ expected_status.tweak('A/B', status='D ', treeconflict='C', moved_to='A/B2')
+ expected_status.tweak(wc_rev=3)
+ expected_status.tweak( 'A/B2', 'A/B2/E', 'A/B2/E/beta', 'A/B2/E/alpha',
+ 'A/B2/F', 'A/B2/lambda', wc_rev='-')
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ expected_status,
+ None, None, None,
+ None, None, 1,
+ '-r', '3', wc_dir)
+
+ # Resolve conflict moving changes and raising property conflicts
+ svntest.actions.run_and_verify_svn("resolve failed", None, [],
+ 'resolve',
+ '--accept=mine-conflict',
+ sbox.ospath('A/B'))
+
+ expected_status.tweak('A/B', treeconflict=None)
+ expected_status.tweak('A/B2/E', 'A/B2/E/beta', status=' C')
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
+
+ expected_disk.tweak('A/B2', 'A/B2/E/alpha', props={'propertyA' : 'value1',
+ 'propertyB' : 'value2'})
+ expected_disk.tweak('A/B2/E', 'A/B2/E/beta', props={'propertyA' : 'value1',
+ 'propertyB' : 'value3'})
+ extra_files = ['dir_conflicts.prej', 'beta.prej']
+ svntest.actions.verify_disk(wc_dir, expected_disk, True,
+ svntest.tree.detect_conflict_files, extra_files)
+
#######################################################################
# Run the tests
Modified: subversion/branches/verify-keep-going/subversion/tests/cmdline/upgrade_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/tests/cmdline/upgrade_tests.py?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/branches/verify-keep-going/subversion/tests/cmdline/upgrade_tests.py Tue Jan 29 07:34:55 2013
@@ -1262,6 +1262,18 @@ def upgrade_not_present_replaced(sbox):
svntest.actions.run_and_verify_update(sbox.wc_dir, expected_output,
None, expected_status)
+@XFail()
+@Issue(4307)
+def upgrade_from_1_7(sbox):
+ "upgrade from 1.7 WC (format 29)"
+
+ sbox.build(create_wc=False)
+ replace_sbox_with_tarfile(sbox, 'upgrade_from_1_7_wc.tar.bz2')
+
+ # The working copy contains a text conflict, and upgrading such
+ # a working copy currently crashes 'svn'.
+ svntest.actions.run_and_verify_svn(None, None, [], 'upgrade', sbox.wc_dir)
+
########################################################################
# Run the tests
@@ -1313,6 +1325,7 @@ test_list = [ None,
upgrade_file_externals,
upgrade_missing_replaced,
upgrade_not_present_replaced,
+ upgrade_from_1_7,
]
Propchange: subversion/branches/verify-keep-going/tools/dist/make-deps-tarball.sh
------------------------------------------------------------------------------
Merged /subversion/trunk/tools/dist/make-deps-tarball.sh:r1439280-1439754
Modified: subversion/branches/verify-keep-going/tools/hook-scripts/mailer/mailer.conf.example
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/tools/hook-scripts/mailer/mailer.conf.example?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/tools/hook-scripts/mailer/mailer.conf.example (original)
+++ subversion/branches/verify-keep-going/tools/hook-scripts/mailer/mailer.conf.example Tue Jan 29 07:34:55 2013
@@ -146,6 +146,15 @@
#
# from_addr = %(author)s@example.com
#
+# The substitution variable "repos_basename" is provided, and is set to
+# the directory name of the repository. This can be useful to set
+# a custom subject that can be re-used in multiple repositories:
+#
+# commit_subject_prefix = [svn-%(repos_basename)s]
+#
+# For example if the repository is at /path/to/repo/project-x then
+# the subject of commit emails will be prefixed with [svn-project-x]
+#
#
# SUMMARY
#
Modified: subversion/branches/verify-keep-going/tools/hook-scripts/mailer/mailer.py
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/tools/hook-scripts/mailer/mailer.py?rev=1439765&r1=1439764&r2=1439765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/tools/hook-scripts/mailer/mailer.py (original)
+++ subversion/branches/verify-keep-going/tools/hook-scripts/mailer/mailer.py Tue Jan 29 07:34:55 2013
@@ -98,7 +98,10 @@ def main(pool, cmd, config_fname, repos_
if cmd == 'commit':
revision = int(cmd_args[0])
repos = Repository(repos_dir, revision, pool)
- cfg = Config(config_fname, repos, { 'author' : repos.author })
+ cfg = Config(config_fname, repos,
+ {'author': author,
+ 'repos_basename': os.path.basename(repos.repos_dir)
+ })
messenger = Commit(pool, cfg, repos)
elif cmd == 'propchange' or cmd == 'propchange2':
revision = int(cmd_args[0])
@@ -108,14 +111,20 @@ def main(pool, cmd, config_fname, repos_
repos = Repository(repos_dir, revision, pool)
# Override the repos revision author with the author of the propchange
repos.author = author
- cfg = Config(config_fname, repos, { 'author' : author })
+ cfg = Config(config_fname, repos,
+ {'author': author,
+ 'repos_basename': os.path.basename(repos.repos_dir)
+ })
messenger = PropChange(pool, cfg, repos, author, propname, action)
elif cmd == 'lock' or cmd == 'unlock':
author = cmd_args[0]
repos = Repository(repos_dir, 0, pool) ### any old revision will do
# Override the repos revision author with the author of the lock/unlock
repos.author = author
- cfg = Config(config_fname, repos, { 'author' : author })
+ cfg = Config(config_fname, repos,
+ {'author': author,
+ 'repos_basename': os.path.basename(repos.repos_dir)
+ })
messenger = Lock(pool, cfg, repos, author, cmd == 'lock')
else:
raise UnknownSubcommand(cmd)
Propchange: subversion/branches/verify-keep-going/tools/server-side/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Jan 29 07:34:55 2013
@@ -1,6 +1,7 @@
.libs
svn-populate-node-origins-index
svnauthz
+svnauthz-validate
svn-rep-sharing-stats
fsfs-reorg
fsfs-stats