Missing metainfo when using merge -M or block

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Missing metainfo when using merge -M or block

steffen (Bugzilla)-3
Hi,

I having a simple but practical problem I would like to share and
request, if the behavior could be changed in the way it should work in
my opinion.

When having 2 branches, lets say trunk and dev with a initialized merge
tracking via svnmerge.py from trunk to dev.

When I have to jump over some revision in trunk while merging to dev I
have 3 possibilities to do this permanent:
* svnmerge.py block -r ...
* svnmerge.py merge -M -r ...
* svnmerge.py init --force -r ... ../trunk

But all of those methods changes not the svn internal merge tracking
property so from view of svn merge tracking the merge is never happen or
better, the jump over from svnmerge.py is not known for svn internal
merge tracking.

Would it be possible to extend the methods to let "svnmerge.py merge -M"
and/or "svnmerge block" also update the svn:mergeinfo property and to
add the revisions, which are blocked or recorded only, to the revisions
already existing in svn:mergeinfo?

What are your minds about this?

Greets
Steffen
_______________________________________________
Svnmerge mailing list
[hidden email]
http://www.orcaware.com/mailman/listinfo/svnmerge
Reply | Threaded
Open this post in threaded view
|

Re: Missing metainfo when using merge -M or block

Blair Zajac

On Aug 2, 2011, at 2:43 AM, Steffen Böhme wrote:

> Hi,
>
> I having a simple but practical problem I would like to share and request, if the behavior could be changed in the way it should work in my opinion.
>
> When having 2 branches, lets say trunk and dev with a initialized merge tracking via svnmerge.py from trunk to dev.
>
> When I have to jump over some revision in trunk while merging to dev I have 3 possibilities to do this permanent:
> * svnmerge.py block -r ...
> * svnmerge.py merge -M -r ...
> * svnmerge.py init --force -r ... ../trunk
>
> But all of those methods changes not the svn internal merge tracking property so from view of svn merge tracking the merge is never happen or better, the jump over from svnmerge.py is not known for svn internal merge tracking.
>
> Would it be possible to extend the methods to let "svnmerge.py merge -M" and/or "svnmerge block" also update the svn:mergeinfo property and to add the revisions, which are blocked or recorded only, to the revisions already existing in svn:mergeinfo?
>
> What are your minds about this?

I think you should pick svnmerge.py or built-in merge tracking.  At this point, I recommend svn's built-in merge tracking, the only thing it doesn't have is a nice way of blocking revisions from merging.

Blair


_______________________________________________
Svnmerge mailing list
[hidden email]
http://www.orcaware.com/mailman/listinfo/svnmerge
Reply | Threaded
Open this post in threaded view
|

Re: Missing metainfo when using merge -M or block

Jeppe_Oland
> I think you should pick svnmerge.py or built-in merge tracking.
> At this point, I recommend svn's built-in merge tracking, the only
> thing it doesn't have is a nice way of blocking revisions from merging.

Does the built-in merge mechanism preserve any revision comments?

Or I guess to ask another way ... when I merge changes with "svn merge", the commit comment is purely decided by me.
How does a third party easily see what revisions I merged, and the commit logs for those revisions?

Regards,
-Jeppe
_______________________________________________
Svnmerge mailing list
[hidden email]
http://www.orcaware.com/mailman/listinfo/svnmerge
Reply | Threaded
Open this post in threaded view
|

Re: Missing metainfo when using merge -M or block

Blair Zajac

On Aug 2, 2011, at 11:44 AM, [hidden email] wrote:

> > I think you should pick svnmerge.py or built-in merge tracking.
> > At this point, I recommend svn's built-in merge tracking, the only
> > thing it doesn't have is a nice way of blocking revisions from merging.
>
> Does the built-in merge mechanism preserve any revision comments?
>
> Or I guess to ask another way ... when I merge changes with "svn merge", the commit comment is purely decided by me.
> How does a third party easily see what revisions I merged, and the commit logs for those revisions?

svn built-in merging doesn't do that because you can get with log's -g command line option the log messages of what was merged.  This is better in some way because if you fix the original log message, say a typo, then you only need to fix it once.  With svnmerge.py, I've had to tweak three log messages because the text was copied from revision to revision.

Here's a merge from svn's own trunk into the 1.7.x branch.  Without -g:

$ svn log -r r1152771 https://svn.apache.org/repos/asf/subversion/branches/1.7.x
------------------------------------------------------------------------
r1152771 | hwright | 2011-08-01 06:36:15 -0700 (Mon, 01 Aug 2011) | 11 lines

Merge r1149539 from trunk:

 * r1149539
   Resolve issue #3969: provide proper cancellation support in the
   network loops in ra_serf.
   Justifications:
     GUI clients can't rely on EINTR being returned when a user tries to cancel
     an operation, as no signal is raised.
   Votes:
     +1: rhuijben, hwright, cmpilato

------------------------------------------------------------------------




Add -g and you see the log message on the revision that was merged:



$ svn log -g -r r1152771 https://svn.apache.org/repos/asf/subversion/branches/1.7.x

------------------------------------------------------------------------
r1152771 | hwright | 2011-08-01 06:36:15 -0700 (Mon, 01 Aug 2011) | 11 lines

Merge r1149539 from trunk:

 * r1149539
   Resolve issue #3969: provide proper cancellation support in the
   network loops in ra_serf.
   Justifications:
     GUI clients can't rely on EINTR being returned when a user tries to cancel
     an operation, as no signal is raised.
   Votes:
     +1: rhuijben, hwright, cmpilato

------------------------------------------------------------------------
r1149539 | rhuijben | 2011-07-22 03:01:14 -0700 (Fri, 22 Jul 2011) | 21 lines
Merged via: r1152771

Resolve issue #3969: provide proper cancellation support in the network loops
in ra_serf.

* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__session_t): Rename two variables and add two new variables.
    Progress has nothing to do with the wc and this make it easier to access
    the cancellation.

* subversion/libsvn_ra_serf/replay.c
  (svn_ra_serf__replay_range): Check for cancellation.

* subversion/libsvn_ra_serf/serf.c
  (svn_ra_serf__progress): Update user.
  (svn_ra_serf__open): Update session initialization.

* subversion/libsvn_ra_serf/update.c
  (finish_report): Check for cancellation.

* subversion/libsvn_ra_serf/util.c
  (svn_ra_serf__context_run_wait): Use callback in session.

------------------------------------------------------------------------

Blair


_______________________________________________
Svnmerge mailing list
[hidden email]
http://www.orcaware.com/mailman/listinfo/svnmerge
Reply | Threaded
Open this post in threaded view
|

Re: Missing metainfo when using merge -M or block

Blair Zajac

On Aug 2, 2011, at 11:50 AM, Blair Zajac wrote:

>
> On Aug 2, 2011, at 11:44 AM, [hidden email] wrote:
>
>>> I think you should pick svnmerge.py or built-in merge tracking.
>>> At this point, I recommend svn's built-in merge tracking, the only
>>> thing it doesn't have is a nice way of blocking revisions from merging.
>>
>> Does the built-in merge mechanism preserve any revision comments?
>>
>> Or I guess to ask another way ... when I merge changes with "svn merge", the commit comment is purely decided by me.
>> How does a third party easily see what revisions I merged, and the commit logs for those revisions?
>
> svn built-in merging doesn't do that because you can get with log's -g command line option the log messages of what was merged.  This is better in some way because if you fix the original log message, say a typo, then you only need to fix it once.  With svnmerge.py, I've had to tweak three log messages because the text was copied from revision to revision.

BTW, this all presumes your svn client and server are at least 1.5.  If the server is on 1.4, then stick with svnmerge.py.  I also recommend using the latest svn 1.6.x versions if you're doing any merging, as each svn minor release fixes some merge bug.

Blair



_______________________________________________
Svnmerge mailing list
[hidden email]
http://www.orcaware.com/mailman/listinfo/svnmerge