2011/3/3 Lluís Batlle i Rossell <virik...@gmail.com> > Hello, > > we had an issue merging with renames here. The 'test-shortest-path' takes > what > we think is a *WRONG* path for the merge to happen. > > We had two long-standing branches, that both were updated from trunk from > time > to time. One was merged into trunk only recently, altough it has been there > for > two months. > > We once did in branch A a "fossil merge trunk" at the end of > January. We worked a lot in trunk after that. This gave the current common > ancestor between A and trunk. > > Recently we did in branch B a "fossil merge trunk", and then in trunk, > "fossil > merge B". > > > It came the day when whe decided to do, in branch A, refresh it from trunk: > "fossil merge trunk". Then it went wrong, because it found the > "shortest-path" > *THROUGH* branch A, that went to trunk and branch A back in mid december. > We had > little changes in A, and lots of changes in trunk. Through 'A' was the > *shortest > path*. > > So in this case, the "shortest path" (smallest number of commits) was not > going > through the common ancestor between A and trunk (of end of January), but > through > some common ancestor one month older. > > This could have worked, if the first merge of the end of January did not > have > any rename. It had renames, and due to this, the last merge attempt > complained > about this like this: > WARNING - no common ancestor: file1 > WARNING - no common ancestor: file2 > WARNING - no common ancestor: file3 > WARNING - no common ancestor: file4 > .... >
Can you use the --baseline option to "merge" to specify the common ancestor checkin that you want the merge to use? > > > So we propose that, for the merge between two branches, it should be > calculated > through the *shortest path* that (additional condition) goes through the > *common ancestor*. > > What do you think? > > > Here is how the "test-shortest-path trunk A" looks like: > 1: c844ce6d50e0 2011-03-03 14:14:51 is a child of (trunk) > 2: a43678fc9ca0 2011-03-03 14:12:18 is a child of > 3: 828a14d063c4 2011-03-03 11:54:30 is a child of > 4: edb41e5c230b 2011-03-03 11:13:09 is a child of > 5: e1b7b9c9aabc 2011-03-03 09:48:33 is a child of > 6: 6426c87f9132 2011-02-24 08:22:45 is a child of > 7: 3ce0d541f673 2011-02-23 21:12:02 is a child of > 8: 99319ca24ef5 2011-02-23 15:15:59 is a child of > 9: deda6f59bdd4 2011-02-23 13:55:02 is a child of > 10: c0d55468828c 2011-02-23 10:29:18 is a child of > 11: b664b5b18bcd 2011-02-23 09:11:10 is a child of > 12: 241698eda20c 2011-02-23 09:06:37 is a child of > 13: d892a84a853b 2011-02-22 09:13:40 is a parent of > 14: 1d669cc444e7 2011-02-22 13:43:04 is a child of (branch B) > 15: c788f28c5660 2010-12-22 15:09:28 is a child of > 16: 8ed57277e997 2010-12-22 13:20:11 is a child of > 17: 87c26be24920 2010-12-22 13:18:27 is a child of > 18: 6478caeac746 2010-12-22 10:03:02 is a child of > 19: 6a13f33daba8 2010-12-22 09:41:06 is a child of (trunk again) > 20: b215075e199d 2010-12-21 15:03:20 is a parent of (branch A) > 21: aa1588e4ffc3 2010-12-22 11:41:32 is a parent of > 22: 799ee1a58db1 2010-12-22 13:27:11 is a parent of > 23: 75a94cb02cd6 2010-12-22 15:11:03 is a parent of > 24: ed258cef647f 2010-12-22 16:20:38 is a parent of > 25: 0bcba8b051c6 2010-12-22 16:21:18 is a parent of > 26: e793f744c587 2010-12-23 09:18:59 is a parent of > 27: b1681a484058 2011-01-24 11:55:03 > > The common ancestor between A and trunk dates from 2011-01-24, two hours > earlier > to the last element of the "test-shortest-path" above. > _______________________________________________ > fossil-users mailing list > fossil-users@lists.fossil-scm.org > http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users > -- D. Richard Hipp d...@sqlite.org
_______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users