On Wed, Dec 01, 2010 at 04:09:29PM -0000, kame...@apache.org wrote: > Author: kameshj > Date: Wed Dec 1 16:09:29 2010 > New Revision: 1041068 > > URL: http://svn.apache.org/viewvc?rev=1041068&view=rev > Log: > Fix assertion error when there is a prop diff on a dir and the diff target > is implicit current working directory or URL. > > * subversion/tests/cmdline/diff_tests.py > (diff_with_depth): Fix the expectations, not to expect ".". > (diff_git_with_props_on_dir): New testcase that was triggering assertion > error before this commit. > (test_list): Add diff_git_with_props_on_dir. > > * subversion/tests/cmdline/depth_tests.py > (diff_in_depthy_wc): Fix the expectations, not to expect ".".
Hi Kamesh, I don't think this change in diff output is desirable. In 1.6.x, you get lines like: Property changes on: . in a diff. You made it print: Property changes on: instead. Is there a way to fix the assertion problem without changing the output? Stefan > > * subversion/libsvn_client/diff.c > (display_prop_diffs): When path is empty let it be so. > > Modified: > subversion/trunk/subversion/libsvn_client/diff.c > subversion/trunk/subversion/tests/cmdline/depth_tests.py > subversion/trunk/subversion/tests/cmdline/diff_tests.py > > Modified: subversion/trunk/subversion/libsvn_client/diff.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/diff.c?rev=1041068&r1=1041067&r2=1041068&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_client/diff.c (original) > +++ subversion/trunk/subversion/libsvn_client/diff.c Wed Dec 1 16:09:29 2010 > @@ -574,10 +574,6 @@ display_prop_diffs(const apr_array_heade > const char *path1 = apr_pstrdup(pool, orig_path1); > const char *path2 = apr_pstrdup(pool, orig_path2); > > - /* If we're creating a diff on the wc root, path would be empty. */ > - if (path[0] == '\0') > - path = apr_psprintf(pool, "."); > - > if (use_git_diff_format) > { > SVN_ERR(adjust_relative_to_repos_root(&path1, path, orig_path1, > > Modified: subversion/trunk/subversion/tests/cmdline/depth_tests.py > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/depth_tests.py?rev=1041068&r1=1041067&r2=1041068&view=diff > ============================================================================== > --- subversion/trunk/subversion/tests/cmdline/depth_tests.py (original) > +++ subversion/trunk/subversion/tests/cmdline/depth_tests.py Wed Dec 1 > 16:09:29 2010 > @@ -1062,12 +1062,12 @@ def diff_in_depthy_wc(sbox): > "@@ -1 +1 @@\n", > "-new text\n", > "+This is the file 'iota'.\n", > - "Index: .\n", > + "Index: \n", > "===================================================================\n", > - "--- .\t(revision 2)\n", > - "+++ .\t(working copy)\n", > + "--- \t(revision 2)\n", > + "+++ \t(working copy)\n", > "\n", > - "Property changes on: .\n", > + "Property changes on: \n", > "___________________________________________________________________\n", > "Deleted: foo\n", > "## -1 +0,0 ##\n", > > Modified: subversion/trunk/subversion/tests/cmdline/diff_tests.py > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/diff_tests.py?rev=1041068&r1=1041067&r2=1041068&view=diff > ============================================================================== > --- subversion/trunk/subversion/tests/cmdline/diff_tests.py (original) > +++ subversion/trunk/subversion/tests/cmdline/diff_tests.py Wed Dec 1 > 16:09:29 2010 > @@ -2868,7 +2868,7 @@ def diff_with_depth(sbox): > > diff = [ > "\n", > - "Property changes on: .\n", > + "Property changes on: \n", > "___________________________________________________________________\n", > "Added: foo1\n", > "## -0,0 +1 ##\n", > @@ -2892,7 +2892,7 @@ def diff_with_depth(sbox): > "## -0,0 +1 ##\n", > "+bar4\n"] > > - dot_header = make_diff_header(".", "revision 1", "working copy") > + dot_header = make_diff_header("", "revision 1", "working copy") > iota_header = make_diff_header('iota', "revision 1", "working copy") > A_header = make_diff_header('A', "revision 1", "working copy") > B_header = make_diff_header(B_path, "revision 1", "working copy") > @@ -2939,7 +2939,7 @@ def diff_with_depth(sbox): > svntest.actions.run_and_verify_svn(None, None, [], > 'ci', '-m', '') > > - dot_header = make_diff_header(".", "revision 1", "revision 2") > + dot_header = make_diff_header("", "revision 1", "revision 2") > iota_header = make_diff_header('iota', "revision 1", "revision 2") > A_header = make_diff_header('A', "revision 1", "revision 2") > B_header = make_diff_header(B_path, "revision 1", "revision 2") > @@ -3011,12 +3011,12 @@ def diff_with_depth(sbox): > "## -1 +1 ##\n", > "-bar2\n", > "+baz2\n", > - "Index: .\n", > + "Index: \n", > "===================================================================\n", > - "--- .\t(revision 2)\n", > - "+++ .\t(working copy)\n", > + "--- \t(revision 2)\n", > + "+++ \t(working copy)\n", > "\n", > - "Property changes on: .\n", > + "Property changes on: \n", > "___________________________________________________________________\n", > "Modified: foo1\n", > "## -1 +1 ##\n", > @@ -3713,6 +3713,42 @@ def diff_git_with_props(sbox): > > svntest.actions.run_and_verify_svn(None, expected_output, [], 'diff', > '--git', wc_dir) > + > +def diff_git_with_props_on_dir(sbox): > + "diff in git format showing prop changes on dir" > + sbox.build() > + wc_dir = sbox.wc_dir > + > + # Now commit the local mod, creating rev 2. > + expected_output = svntest.wc.State(wc_dir, { > + '.' : Item(verb='Sending'), > + }) > + > + expected_status = svntest.actions.get_virginal_state(wc_dir, 1) > + expected_status.add({ > + '' : Item(status=' ', wc_rev=2), > + }) > + > + svntest.main.run_svn(None, 'ps', 'a','b', wc_dir) > + svntest.actions.run_and_verify_commit(wc_dir, expected_output, > + expected_status, None, wc_dir) > + > + was_cwd = os.getcwd() > + os.chdir(wc_dir) > + expected_output = make_git_diff_header("", "", "revision 1", > + "revision 2", > + add=False, text_changes=False) + [ > + "\n", > + "Property changes on: \n", > + > "___________________________________________________________________\n", > + "Added: a\n", > + "## -0,0 +1 ##\n", > + "+b\n", > + ] > + > + svntest.actions.run_and_verify_svn(None, expected_output, [], 'diff', > + '-c2', '--git') > + os.chdir(was_cwd) > ######################################################################## > #Run the tests > > @@ -3775,7 +3811,8 @@ test_list = [ None, > diff_prop_missing_context, > diff_prop_multiple_hunks, > diff_git_empty_files, > - diff_git_with_props, > + diff_git_with_props, > + diff_git_with_props_on_dir, > ] > > if __name__ == '__main__': >