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

svn merge - repeat merge is not a no-op

From: Julian Foad <julian.foad_at_wandisco.com>
Date: Mon, 25 Jan 2010 14:32:51 +0000

After merging all changes from a branch into the WC, a second attempt of
the same merge brings in a different file.

Full Details

I tried a merge in a clean WC of the branch 1.6.x_at_902803, using an
r902780M trunk build of svn. (I confirmed with an r902508 trunk build
that excludes the recent patch to add notifications when mergeinfo is
being recorded. The results are the same except lacking the extra
notifications.)

[[[
$ svn merge --dry-run ^/subversion/branches/1.6.x-r891672/@902803
--- Merging r891676 through r902803 into '.':
U subversion/tests/cmdline/externals_tests.py
U subversion/libsvn_client/commit_util.c

$ svn merge ^/subversion/branches/1.6.x-r891672/@902803
--- Merging r891676 through r902803 into '.':
U subversion/tests/cmdline/externals_tests.py
U subversion/libsvn_client/commit_util.c
--- Recording mergeinfo for merge of r891676 through r902803 into '.':
 U .

$ svn diff -N

Property changes on: .
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /subversion/branches/1.6.x-r891672:r891677-902803
]]]

So far, so good.

Then I requested the same merge again in the same (now modified) WC,
expecting nothing further should happen, but I got:

[[[
$ svn merge --dry-run ^/subversion/branches/1.6.x-r891672/@902803
U STATUS

$ svn merge ^/subversion/branches/1.6.x-r891672/@902803
U STATUS
--- Recording mergeinfo for merge of r891676 through r902803 into '.':
 G .

$ svn diff -N

Property changes on: .
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /subversion/branches/1.6.x-r891672:r891677-902803
Index: STATUS
===================================================================
--- STATUS (revision 902803)
+++ STATUS (working copy)
@@ -114,15 +114,6 @@
    Votes:
      +1: stsp, rhuijben
 
- * r892050, 892085
- Fix a reintegrate bug which can occur when the merge source has mergeinfo
- that explicitly describes common history with the reintegrate target.
- Justification:
- Reintegrate merges may not work if the reintegrate source has self-
- referential mergeinfo that is also self-referential to the reintegrate
- target. This occured in our own repository, see
- http://svn.haxx.se/dev/archive-2009-12/0338.shtml.
- Votes:
      +1: pburba, rhuijben
 
  * r891672
@@ -185,8 +176,6 @@
    Justification:
      APIs should do what they say they do.
    Votes:
- +1: pburba
-
 Veto-blocked changes:
 =====================
 
]]]

Why is it merging STATUS now? And is it ever meant to print any merge
activity ("U STATUS") without first having printed a "--- Merging ..."
header line?

- Julian
Received on 2010-01-25 15:33:29 CET

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