[Svnmerge] questions about merge tracking
Blair Zajac
blair at orcaware.com
Thu Sep 22 15:02:37 PDT 2005
Giovanni Bajo wrote:
> Hello,
>
> I began using svnmerge for some real development (I'm using my Python
> version, so I hope some of the below issues are not just bugs on my side). I
> have some questions and ideas for enhancements:
>
> - The "svnmerge merge" commit message (produced by -f) could be more
> informative. For instance, it could also report the original logs of the
> revisions merged in. Otherwise, running "svn log" in the branch produces a
> totally uninformative list of other revision numbers to look at. Opinions?
> If we add this, should it be the default? Should there be an option to
> enable/disable it?
I think that's a great idea. At work, I wrote a release notes generator
for all the commits on trunk, but it doesn't anything with the current
log messages on a release branch with only one merge :)
> - I'm using Trac for my projects, so I would not mind having hyperlinks
> working in my commit messages. It is sufficient to put revision numbers in
> squares (eg. [345]). I understand this is not something everybody will want,
> so I was wondering about adding an option for it. Of course, I could write
> an external script "tracify.py" to post-process commit.txt, but I figured I
> would ask if there is interest in such an option.
I think have a option where one can specify the format would be handly.
Something like --rev-format '[%r]' and the default would be '%r' would
be handly.
> - Currently, when you run "svnmerge avail", it gets the latest revision in
> the head, and assumes that the range 1:HEAD_REVISION, subtracted with all
> the ranges which are already merged, are all revisions available for
> merging. This is of course not true: in that range, there might be many
> commits done on other branches which have nothing to do with either our
> branch nor the trunk. In one setup, I keep many totally different projects
> within the same subversion repository, so assuming that every commit
> happened to head is absolutely suboptimal. In fact, the merge itself will be
> done through a commit, and that very commit will be shown in "svnmerge
> avail" next time you run it (after another commit on head).
> So, I believe that "svnmerge avail" should only show commits which happened
> on head. To do this, it could invoke "svn log
> head -rXX:HEAD --stop-on-copy", where XX is the latest integrated revision.
> Then, it could parse the output to extract the revision numbers. I quickly
> tried with: svn log --stop-on-copy --xml | grep -P 'revision="\d+"' and it
> seems to be feasable.
> Comments?
We have the same situation at work where we have 88 projects in a single
repository, but I don't have a problem with merging revisions over that
dind't affect the merging working copy.
One drawback of the proposal would be that the revision list stored in
the branches svnmerge-integrated subversion property would then become
sparse with only the commits on source location. I like having that
property being a single revision range, as it's short, the diffs on it
are small, and it's easy to see that everythings been merged in without
running a 'svnmerge avail'.
Regards,
Blair
More information about the Svnmerge
mailing list