[Svnmerge] Re: Add "show blocked revisions" command to svnmerge.py

Daniel Rall dlr at collab.net
Thu Apr 13 14:57:05 PDT 2006


Well, David James effectively killed more conversation on this topic
while getting ready to commit your patch by noticing the 'avail -B'
('avail --blocked') command already exists.

- Dan


On Thu, 13 Apr 2006, Daniel Rall wrote:

> On Thu, 13 Apr 2006, Madan S. wrote:
> 
> > 
> > Dan : I think hidden makes sense and is less verbose. Are you -1 if
> > hidden is used? If so, pl. let me know (hey, I cant face the wrath
> > of a committer, you know ;)
> 
> Reading the help for the 'block' command, I can see why you chose
> 'hidden' as a command name:
> 
>     """Block revisions within PATH so that they disappear from the available
>     list. This is useful to hide revisions which will not be integrated.
>     If --revision is omitted, it defaults to all the available revisions.
> 
>     Do not use this option to hide revisions that were manually merged
>     into the branch.  Instead, use '%s merge --record-only', which
>     records that a merge happened (as opposed to a merge which should
>     not happen)."""
> 
> That said, I'm still not fond of it, as the most common usage of the
> word "hide" does not in my mind create an accurate description of the
> command's behavior.
> 
> When svnmerge.py blocks revisions, it's not hiding them from view in
> general, only hiding them from the 'avail' command.  But svnmerge.py
> is doing more than just that -- it's also preventing blocked revisions
> from being merged from one branch to another.
> 
> 
> block (transitive verb)
> 
>    1. To make unsuitable for passage or progress by obstruction.
>    2. To hinder the passage, progress, or accomplishment of by or as if by interposing an obstruction.
>    3. To shut off from view <forest canopy blocking the sun>.
>    4. To interfere usually legitimately with (as an opponent) in various games or sports.
>    5. To prevent normal functioning of g : to restrict the exchange of (as currency or checks).
> 
> hide (transitive verb)
> 
>    1. To put or keep out of sight; secrete.
>    2. To prevent the disclosure or recognition of; conceal: tried to hide the facts.
>    3. To cut off from sight; cover up: Clouds hid the stars.
>    4. To avert (one's gaze), especially in shame or grief.
> 
> 
> I'm definitely +1 on the "show blocked revisions" functionality!  More
> comments inline below.
> 
> > [[[
> > Implement 'svnmerge hidden'.
> > 'svnmerge hidden' will list all the revisions marked as blocked, against
> > the default or a given head (given by the -S/--head options).
> > 
> > * contrib/client-side/svnmerge.py
> >   (action_hidden): New function to handle the 'svnmerge hidden' command.
> >   (command_table): Added new Option for handling the 'hidden' subcommand.
> > ]]]
> > 
> > PS : this patch assumes that the patch submitted at http://www.orcaware.com/pipermail/svnmerge/2006-April/000534.html has already been applied.
> 
> Yup, it's already applied.  ;-)
> 
> 
> > Index: contrib/client-side/svnmerge.py
> > ===================================================================
> > --- contrib/client-side/svnmerge.py	(revision 19340)
> > +++ contrib/client-side/svnmerge.py	(working copy)
> > @@ -993,6 +993,18 @@
> >                        "revisions available to be merged are:",
> >                        opts["head-url"])
> >  
> > +def action_hidden(branch_dir, branch_props):
> > +    "Show all blocked revisions for the given branch_dir."
> > +
> > +    revs = get_blocked_revs(branch_dir, opts["head-path"])
> > +
> > +    # Limit to revisions specified by -r (if any)
> > +    if opts["revision"]:
> > +        revs = revs & RevisionSet(opts["revision"])
> > +
> > +    display_revisions(revs, opts["hidden-display"],
> > +                      "revisions blocked from view are:", opts["head-url"])
> > +
> 
> I'd prefer the text "blocked from merge".
> 
> >  def action_integrated(branch_dir, branch_props):
> >      """Show change sets already merged.  This set of revisions is
> >      calculated from taking svnmerge-integrated property from the
> > @@ -1634,6 +1646,25 @@
> >      [
> >          "-f", "-r", "-S", # import common opts
> >      ]),
> > +
> > +    "hidden": (action_hidden,
> > +    "hidden [OPTION...] [PATH]",
> > +    """Show the revisions blocked for PATH as a revision list.
> > +    If --revision is given, the revisions shown will be limited to
> > +    those also specified in the option.""",
> > +    [
> > +        Option("-d", "--diff",
> > +               dest="hidden-display",
> > +               value="diffs",
> > +               default="revisions",
> > +               help="show corresponding diff instead of revision list"),
> > +        Option("-l", "--log",
> > +               dest="hidden-display",
> > +               value="logs",
> > +               help="show corresponding log history instead of revision list"),
> > +        "-r",
> > +        "-S",
> > +    ]),
> >  }
> 
> The patch looks really good, basically ready to apply after we
> complete discussion of the command name.
> -- 
> 
> Daniel Rall



> _______________________________________________
> Svnmerge mailing list
> Svnmerge at orcaware.com
> http://www.orcaware.com/mailman/listinfo/svnmerge


-- 

Daniel Rall
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
Url : /pipermail/svnmerge/attachments/20060413/eab060a4/attachment.pgp 


More information about the Svnmerge mailing list