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

Re: New merge-sensitive log feature

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: 2007-06-03 02:57:45 CEST

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mark,
Thanks for putting this together, sorry it's taken me a bit longer to
get to it than expected. Having some more complex examples definitely
helps to flesh this out. A few comments below.

Mark Phippard wrote:
> Hyrum, others.
>
> I made a sample repository for our merge tracking early adopter
> program at CollabNet. You can download a dump file here for testing:
>
> http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=8590&expandFolder=8590&folderID=0
>
>
> At the same location, you will also find a graphic that visualizes the
> repository transactions that are in the repository. Currently the
> last transaction in the graphic has not been committed because I got
> some unexpected conflicts and wanted it to be easy for dlr to look at
> it.
>
> Anyway, since I had this repository, I figured I would test it with
> the new svn log -g feature. There are some problems with the results.
>
> Ran this command:
>
> svn log -g -r 13 $REPOS/trunk
>
> ------------------------------------------------------------------------
> r13 | merger | 2007-05-25 20:41:20 -0400 (Fri, 25 May 2007) | 1 line
>
> Merge branch b
> ------------------------------------------------------------------------
> r10 | auser | 2007-05-25 20:34:22 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r13
>
> Added product roadmaps.
> ------------------------------------------------------------------------
> r11 | merger | 2007-05-25 20:38:10 -0400 (Fri, 25 May 2007) | 4 lines
> Result of a merge from: r13
>
> Merged branch a
> - Product restructure
> - New roadmaps
> - Had to resolve conflict in products/index.html
> ------------------------------------------------------------------------
> r12 | buser | 2007-05-25 20:40:03 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r13
>
> Rearrange products alphabetically.
> ------------------------------------------------------------------------
>
> First problem is that the merge sensitive history is in the wrong order.

Ordering should be fixed now. Because ordering is determined by the way
the revision range is given on the command line ('svn log -r12:15' vs.
'svn log -r15:12'), we don't have a way to say 'svn log -g -r13', but
reverse the order of the merged revisions. This is just an observation;
I don't think we really need to do anything about it at this point.

> Second problem is that r10 comes from r11. So its message should say:
>
> Result of a merge from: r11, r13

(Actually, I think it should be r13, r11)

The current implementation is checking for merge children on the current
path, not the path which was merged from. r10 was merged into trunk in
r13, but it was also merged into branches/a in r11. I'll need to look
at how to retrieve that information, and look at the merged revisions in
the context of their original paths.

> Final problem is that I believe there was also an r7 that should have
> shown in the history from r11.

I'm using the updated dumpfile (where r7 is blocked). Which revision is
this for the new diagram?

> If I run this command:
>
> svn log -g -r11 $REPOS/branches/b
>
> I get even crazier results:
>
> ------------------------------------------------------------------------
> r11 | merger | 2007-05-25 20:38:10 -0400 (Fri, 25 May 2007) | 4 lines
>
> Merged branch a
> - Product restructure
> - New roadmaps
> - Had to resolve conflict in products/index.html
> ------------------------------------------------------------------------
> r9 | copier | 2007-05-25 20:24:07 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r11
>
> Create branch b
> ------------------------------------------------------------------------
> r1 | user | 2007-05-25 20:01:05 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r11, r9
>
> Create initial product structure
> ------------------------------------------------------------------------
> r2 | user | 2007-05-25 20:07:03 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r11, r9
>
> Flesh out page content before launch.
> ------------------------------------------------------------------------
> r3 | copier | 2007-05-25 20:09:29 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r11, r9
>
> Create branch a
> ------------------------------------------------------------------------
> r4 | auser | 2007-05-25 20:13:35 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r11, r9
>
> Create page for medium product.
> ------------------------------------------------------------------------
> r5 | copier | 2007-05-25 20:14:33 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r11, r9
>
> Create branch c
> ------------------------------------------------------------------------
> r6 | merger | 2007-05-25 20:16:28 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r11, r9
>
> Merge branch a. Added medium product.
> ------------------------------------------------------------------------
> r7 | auser | 2007-05-25 20:22:00 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r11, r9
>
> Restructure product pages. Fixed content on product index.
> ------------------------------------------------------------------------
> r8 | user | 2007-05-25 20:23:16 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r11, r9
>
> Missing medium product on index.
> ------------------------------------------------------------------------
> r10 | auser | 2007-05-25 20:34:22 -0400 (Fri, 25 May 2007) | 1 line
> Result of a merge from: r11
>
> Added product roadmaps.
> ------------------------------------------------------------------------
>
> I think the output should have just shown r11 and then r10 and r7
> which were the two revisions merged.

Yeah. Part of that has to do with the fact that when we create a
branch, the mergeinfo difference shows up as everything upto the
creation of that branch, and so it gets reflected as "merged" when
looking for merge children.

I get similar results on the new dumpfile, but the revisions don't jive.
 Would you mind running the same query on the newer dumpfile and letting
me know what you'd expect?

> I know the feature is not done. I just thought this might help focus
> in on some remaining work.

Thanks again for the testing and analysis!

- -Hyrum
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGYhH5CwOubk4kUXwRAqLvAJ93owQJSguC7KTGfuM+UeozHA1kgQCfQTI7
n95qQ4K/IwrZeJlaVcCqKos=
=WTwS
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Jun 3 02:55:18 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.