> -----Original Message-----
> From: Mark Phippard [mailto:markphip@gmail.com]
> Sent: Friday, October 19, 2007 10:21 AM
> To: Subversion Developers
> Cc: Kamesh Jayachandran
> Subject: Incorrect/confusing merge notification
>
> I saw someone else mention this in another email thread. I
> just wanted to revive it and give a sample.
>
> Using the merge tracking sample repository from CollabNet:
>
> $ svn co $R/trunk notify
> A notify/products
> A notify/products/little.html
> A notify/products/medium.html
> A notify/products/big.html
> A notify/products/roadmap.html
> A notify/products/index.html
> A notify/about
> A notify/about/index.html
> A notify/index.html
> A notify/news
> A notify/news/index.html
> A notify/support
> A notify/support/index.html
> A notify/jobs
> A notify/jobs/index.html
> U notify
> Checked out revision 17.
> $ cd notify/
> $ svn merge $R/branches/a
> --- Merging r8 through r17 into '.':
> A products/roadmap.html
> $ svn st
> M .
>
> The 'A'dd notification should not be happening. The file has
> already been added and committed via a previous merge. All
> of the changes from branches/a have already been merged to
> trunk via /branches/b.
Mark,
On Windows I get even more bad behavior:
>svn merge %URLMT%/branches/a -c11
--- Merging r11 into '.':
A products\roadmap.html
U products\index.html
U index.html
U news\index.html
The three 'U'pdates look like a longstanding bug that is only seeing the
light of day now that we avoid repeated merges. The problem is in
libsvn_wc/merge.c:svn_wc__merge_internal():
615 else
616 {
617 svn_boolean_t same;
618 SVN_ERR(svn_io_files_contents_same_p(&same, result_target,
619 merge_target, pool));
620
621 *merge_outcome = same ? svn_wc_merge_unchanged :
svn_wc_merge_merged;
622 }
result_target: "products/.svn/tmp/tempfile.6.tmp"
merge_target: "products/index.html"
"products/index.html" and "products/.svn/tmp/tempfile.6.tmp" effectively
have the same contents so the merge_outcome should be
svn_wc_merge_unchanged. I say "effectively" because
"products/index.html" has svn:eol-style : native set on it, so on
Windows svn_io_files_contents_same_p() thinks they differ, so the
merge_outcome get's set to svn_wc_merge_merged leading to the bogus
notification.
The 'A products\roadmap.html' notification suffers from the same
problem but also from an analogous problem with a prop add...still
tracking that down.
Paul
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Oct 19 17:34:25 2007