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

Re: peculiar svn:mergeinfo

From: Paul Burba <ptburba_at_gmail.com>
Date: Tue, 25 May 2010 11:22:52 -0400

On Tue, May 25, 2010 at 9:27 AM, Joakim Tjernlund
<joakim.tjernlund_at_transmode.se> wrote:
>
> rm -rf my_repo
> rm -rf my_wc
> REPO=file:///"$PWD"/my_repo
> svnadmin create my_repo
> mkdir -p my_wc/trunk
> mkdir -p my_wc/tags
> mkdir -p my_wc/branches
> svn import -m "std layout" my_wc $REPO
> rm -rf my_wc
> svn mkdir -m "mkdir bin" $REPO/trunk/bin
> svn mkdir -m "mkdir proj" $REPO/trunk/proj
> svn co $REPO my_wc
> echo rev1 > my_wc/trunk/bin/file
> svn add my_wc/trunk/bin/file
> svn propset svn:externals "../bin/file file" my_wc/trunk/proj
> svn commit -m "svn:externals ../bin/file file" my_wc
> svn copy -m "branch b1" $REPO/trunk/ $REPO/branches/b1
> svn up my_wc
>
> # set some dummy external in branch
> rm -rf my_branch
> svn co --depth empty $REPO/branches/b1 my_branch
> ARGS="../bin/file kalle
> ../bin/file sven"
> svn propset "svn:externals" "$ARGS" my_branch
> svn commit -m "Setup externals" my_branch
>
> rm -rf my_trunk
> svn co --depth empty $REPO/trunk my_trunk
>
> #Rev 6 is the above dummy external
> svn merge --record-only -c 6 $REPO/branches/b1 my_trunk
> #svn merge --record-only $REPO/branches/b1 my_trunk
> svn merge $REPO/branches/b1 my_trunk
>
> Now I see:
> svn diff my_trunk/
>
> Property changes on: my_trunk
> ___________________________________________________________________
> Added: svn:mergeinfo
>   Merged /branches/b1:r5-6*
>
> Which looks OK to me.
>
> Then I do the same except
>  svn merge --record-only -c 6 $REPO/branches/b1 my_trunk
> is replaced with
>  svn merge --record-only $REPO/branches/b1 my_trunk
>
> Now I get:
> svn diff my_trunk/
>
> Property changes on: my_trunk
> ___________________________________________________________________
> Added: svn:mergeinfo
>   Merged /trunk:r2-4*
>   Merged /branches/b1:r5-6*
>
> What is /trunk:r2-4* ? Should it be at all?

Hi Joakim,

That is what we usually call self-referential mergeinfo, i.e.
mergeinfo that explicitly describes what is already part of a path's
history. Typically it is harmless, though it is certainly needless
"noise". I was unaware of this particular method of generating it;
which certainly looks to be a bug.

I replicated this with 1.6.12 and trunk. I will look into this shortly.

Paul
Received on 2010-05-25 17:23:26 CEST

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