[PATCH] bookmarks: deactivate current bookmark if no name is given

Idan Kamara idankk86 at gmail.com
Mon Oct 8 07:45:27 CDT 2012


On Mon, Oct 8, 2012 at 11:48 AM, Thomas Arendsen Hein <thomas at intevation.de>
wrote:
>
> * Pierre-Yves David <pierre-yves.david at logilab.fr> [20121008 10:58]:
> > On Mon, Oct 08, 2012 at 12:24:08AM +0200, Idan Kamara wrote:
> > > # HG changeset patch
> > > # User Idan Kamara <idankk86 at gmail.com>
> > > # Date 1349648370 -7200
> > > # Branch stable
> > > # Node ID 67f7906491d804423d16cb151e7add017ca1138d
> > > # Parent  6647ac9b9044023b4947e890b07d6dfef30ea9b3
> > > bookmarks: deactivate current bookmark if no name is given
> > >
> > > f57f891eb88e added this help text to hg bookmark:
> > >
> > >   If no NAME is given, the current active bookmark will be marked
> > > inactive.
> > >
> > > But that never actually seemed to be the case.
> > >
> > > diff --git a/mercurial/commands.py b/mercurial/commands.py
> > > --- a/mercurial/commands.py
> > > +++ b/mercurial/commands.py
> > > @@ -847,6 +847,12 @@
> > >          if len(marks) == 0:
> > >              ui.status(_("no bookmarks set\n"))
> > >          else:
> > > +            if inactive:
> > > +                if not repo._bookmarkcurrent:
> > > +                    raise util.Abort(_("no active bookmark to
> > > deactivate"))
> > > +                bookmarks.setcurrent(repo, None)
> > > +                return
> > > +
> >
> > I feel like the use of Abort here is a bit abusive.
> > What about a simple ui.write_err call + a return <some-error> code.
>
> Good point, I would even suggest ui.status and no error code, so
> scripts can use "hg bookmark -i -q" to deactivate a possibly active
> bookmark without printing a message before doing things.
>
> The result is that no bookmark is active, so no need to abort or set
> an error code.

Yeah I wasn't sure it constitutes as an error but couldn't
remember if there's some thumb rule for this based on how
other commands behave. If no one thinks otherwise, I'll resend.

But regarding the script use case, it's just as easy to check
the existence of '.hg/bookmarks.current' and only then call hg.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20121008/69d7c52a/attachment.html>


More information about the Mercurial-devel mailing list