On 9/28/07, David Glasser <glasser@davidglasser.net> wrote:
> Did you ever get anywhere with this bug?
(David, sorry for unintelligibility yesterday on #svn-dev, /me 's
brain was out of order after midnight; I'll try to make it clear
here.)
Sussman's r26503 did fix this issue as a side-effect I believe since
the log doesn't mention such thing. I was able to reproduce the bug
back in r26501 on trunk (r26502 is a branch commit).
As for the explanation, r26503 changed all three RA implementations
and it seems that the server now sends copied file txdeltas, which
create the text-base file that was missing. So no more error.
Everything's fine on trunk/'s HEAD today. I don't know about release
branches -- has this been backported/fixed?
However, to prevent any regression here's the test updated:
[[[
Add a non-regression diff test against bug that r26503 fixes. (see
http://subversion.tigris.org/servlets/ReadMsg?listName=dev&msgNo=129865)
* subversion/tests/cmdline/diff_tests.py
(diff_repos_base_copy_reversed): new test for backward repos-base diff
against copied-file.
]]]
[[[
Index: subversion/tests/cmdline/diff_tests.py
===================================================================
--- subversion/tests/cmdline/diff_tests.py (revision 26826)
+++ subversion/tests/cmdline/diff_tests.py (working copy)
@@ -3334,6 +3334,36 @@
'diff', '-x', '--ignore-eol-style',
file_path)
+def diff_repos_base_copy_reversed(sbox):
+ "reversed repos-base diff with copied file"
+
+ sbox.build()
+ wc_dir = sbox.wc_dir
+ os.chdir(wc_dir)
+
+ # copy a file
+ mu_path = os.path.join('A', 'mu')
+ mucp_path = os.path.join('A', 'mucopy')
+ svntest.main.run_svn(None, 'cp', mu_path, mucp_path)
+
+ # commit r2 and update back to r1
+ svntest.main.run_svn(None, 'ci', '-m', 'log msg')
+ svntest.main.run_svn(None, 'up', '-r1')
+
+ # diff r2 against base
+ diff_repos_base = [
+ "Index: A/mucopy\n",
+ "===================================================================\n",
+ "--- A/mucopy\t(revision 2)\n",
+ "+++ A/mucopy\t(working copy)\n",
+ "@@ -1 +0,0 @@\n",
+ "-This is the file 'mu'.\n",
+ ]
+
+ svntest.actions.run_and_verify_svn(None, diff_repos_base, [],
+ 'diff', '-r' , '2:BASE')
+
+
########################################################################
#Run the tests
@@ -3383,6 +3413,7 @@
diff_in_renamed_folder,
diff_with_depth,
XFail(diff_ignore_eolstyle_empty_lines),
+ diff_repos_base_copy_reversed,
]
if __name__ == '__main__':
]]]
Charles
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Sep 28 14:52:18 2007