On Sun, Mar 12, 2017 at 12:06 PM, Augie Fackler <r...@durin42.com> wrote:
> On Sat, Mar 11, 2017 at 06:03:13PM -0800, Ryan McElroy wrote: > > # HG changeset patch > > # User Ryan McElroy <rmcel...@fb.com> > > # Date 1489283611 28800 > > # Sat Mar 11 17:53:31 2017 -0800 > > # Node ID 7c7f442027b6a0cd51b1f06b01913f53f4f9e9cd > > # Parent a788a4660443dfc33c5c1c58eec78e20150404d9 > > rebase: add flag to require destination > > These both look mechanically fine to me, but I'm a little skeptical > about the configuration sections in play (update and rebase > respectively), so I'll leave them for other parties to examine and > bikeshed. > The ship has likely already sailed, but IMO it would be nice if there a unified [command] (or similar) section that controls behavior of commands, specifically with regards to command arguments. But, a section per command sharing the name of the command is acceptable. I just don't think options for command argument behavior appearing in random sections is very user friendly. > > > > > diff --git a/hgext/rebase.py b/hgext/rebase.py > > --- a/hgext/rebase.py > > +++ b/hgext/rebase.py > > @@ -650,6 +650,16 @@ def rebase(ui, repo, **opts): > > > > hg rebase -r "branch(featureX)" -d 1.3 --keepbranches > > > > + Configuration Options: > > + > > + You can make rebase require a destination if you set the following > config > > + option: > > + > > + [rebase] > > + requiredest = False > > + > > + Return Values: > > + > > Returns 0 on success, 1 if nothing to rebase or there are > > unresolved conflicts. > > > > @@ -663,6 +673,12 @@ def rebase(ui, repo, **opts): > > > > # Validate input and define rebasing points > > destf = opts.get('dest', None) > > + > > + if ui.config('rebase', 'requiredest', False): > > + if not destf: > > + raise error.Abort(_('you must specify a destination'), > > + hint=_('use: hg rebase -d REV')) > > + > > srcf = opts.get('source', None) > > basef = opts.get('base', None) > > revf = opts.get('rev', []) > > diff --git a/tests/test-rebase-base.t b/tests/test-rebase-base.t > > --- a/tests/test-rebase-base.t > > +++ b/tests/test-rebase-base.t > > @@ -391,3 +391,25 @@ Multiple roots. Two children share two p > > / > > o 0: A > > > > +Require a destination > > + $ cat >> $HGRCPATH <<EOF > > + > [rebase] > > + > requiredest = True > > + > EOF > > + $ hg init repo > > + $ cd repo > > + $ echo a >> a > > + $ hg commit -qAm aa > > + $ echo b >> b > > + $ hg commit -qAm bb > > + $ hg up ".^" > > + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved > > + $ echo c >> c > > + $ hg commit -qAm cc > > + $ hg rebase > > + abort: you must specify a destination > > + (use: hg rebase -d REV) > > + [255] > > + $ hg rebase -d 1 > > + rebasing 2:5db65b93a12b "cc" (tip) > > + saved backup bundle to $TESTTMP/repo/.hg/strip- > backup/5db65b93a12b-4fb789ec-backup.hg (glob) > > _______________________________________________ > > Mercurial-devel mailing list > > Mercurial-devel@mercurial-scm.org > > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel > _______________________________________________ > Mercurial-devel mailing list > Mercurial-devel@mercurial-scm.org > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel >
_______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel