[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Re: strange behavior when dealing with copied files repos/wc diffs

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: 2007-10-22 23:53:27 CEST

Charles Acknin wrote:
> 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?

Ping... have any of the full committers had a chance to look at this
patch? If nothing happens, I'll put it in the issue tracker.

-Hyrum

> 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__':
> ]]]

Received on Mon Oct 22 23:54:16 2007

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.