[svnmerge][proposal] svnmerge log/status
Madan U S
madan at collab.net
Wed Apr 12 05:21:28 PDT 2006
On Wed, 12 Apr 2006 17:17:59 +0530, Giovanni Bajo <rasky at develer.com> wrote:
> Madan U S <madan at collab.net> wrote:
>
>> On 'svnmerge status' in a working copy, the user would see something
>> like
>> the following...
[snip]
>
> I'm lagging behind in the "svnmerge integrated" thread (sorry Daniel!),
> but
> I still have to understand if this is duplicate functionality with
> "svnmerge
> integrated", and if not why.
svn status internally uses the action_avail(), action_integrated() and action_blocked() (which can be used to support a 'svnmerge blocked' to list only the blocked revision on a given head) to provide the comprehensive merge status of a wc directory wrt to all heads it is tracked against. I hope my explanation is clear. Pl. let me know otherwise.
> I'd like the default version being a disconnected operation (thus, no
> list
> of "available revisions"). We could then have a -U/--show-updates option
> (that mimics "svn status -U")
Actually you got it wrong-side-up. 'svn status' is limited to the combined output and options provided by 'svnmerge integrated', 'svnmerge avail' and 'svnmerge hidden' (see below for 'svnmerge hidden' sub-proposal).
I agree about the disconnected and connected modes.
> which would require server connection and
> show
> also the available revisions. If we do this, we could make "svnmerge
> avail"
> become an alias for "svnmerge status -U".
No, No, No! That was not what I had in mind. What I had in mind was....
svnmerge avail [-u/--show-updates]
svnmerge integrated [-u/--show-updates]
svnmerge hidden [-u/--show-updates] (See sub-proposal for hidden below)
The above work against a single head for a given wc dir, and...
svn status [-u/--show-updates] will show all the info provided by the above three subcommands, for all the heads available.
(Internally, 'svn status' would use action_integrated(), action_avail() and action_hidden() ... we could even invoke command line svnmerge, but this might cause a slow-down.)
>
>> Areas I need help:
>> 1) Should we call it log or status? I would prefer to call this 'svn
>> status', which is much more of what the output is, than log - which
>> could
>> also be confused with 'svn log'.
>
> I'd rather call it "status". I would like a "svnmerge log" which does a
> different thing, that is the equivalent of calling "svn log" for all the
> merges done in the branch.
cool.
>
>> 2) Should the status also list the blocked revisions?
>
> Why not.
Okay. Now that we have come to this, I have another proposal in mind...
'svnmerge hidden' sub-proposal:
------------------------------------------------
Let us implement 'svnmerge hidden [-u/--show-updates]'. This would list all the blocked revisions for the given wc dir, against a given head.
We would anyway have to implement action_hidden() for purposes of 'svn status', so why not expose it to the end-user?
>
>> 3) How do I go about submitting patches for this...
>> a) Should I file an issue somewhere and start working?
>> b) Should I submit multiple (3 or 4) small patches or one
>> monolithic patch? In the former approach, the functionality
>> would be exposed in the last commit only. Till then, the
>> patches would look mostly unrelated.
>
> I prefer small commits, if they make sense on their own. Adding a
> function
> without a caller is pointless, but factoring things out can be done as
> separate commits (explaining that it's done to make way to the new
> feature).
cool. deal!
Regards,
Madan.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/svnmerge/attachments/20060412/f7949300/attachment.htm
More information about the Svnmerge
mailing list