D2395: stack: add a new module for stack-related commands
This revision was automatically updated to reflect the committed changes. Closed by commit rHG40583c7afd63: stack: add a new module for stack-related commands (authored by lothiraldan, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D2395?vs=6212&id=7124 REVISION DETAIL https://phab.mercurial-scm.org/D2395 AFFECTED FILES mercurial/stack.py CHANGE DETAILS diff --git a/mercurial/stack.py b/mercurial/stack.py new file mode 100644 --- /dev/null +++ b/mercurial/stack.py @@ -0,0 +1,27 @@ +# stack.py - Mercurial functions for stack definition +# +# Copyright Matt Mackall and other +# +# This software may be used and distributed according to the terms of the +# GNU General Public License version 2 or any later version. + +from __future__ import absolute_import + +from . import ( +revsetlang, +scmutil, +) + +def getstack(repo, rev=None): +"""return a smartrev of the stack containing either rev if it is not None +or the current working directory parent. + +The stack will always contain all drafts changesets which are ancestors to +the revision and are not merges. +""" +if rev is None: +rev = '.' + +revspec = 'reverse(only(%s) and not public() and not ::merge())' +revset = revsetlang.formatspec(revspec, rev) +return scmutil.revrange(repo, [revset]) To: lothiraldan, #hg-reviewers, indygreg Cc: indygreg, mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D2395: stack: add a new module for stack-related commands
lothiraldan added a comment. I don't remember a particular point that needed to be cleaned before merging this series. I think the next steps are to introduce a Stack object, update core commands to works with stacks and introduce new commands related to stacks according to my memories and sprint notes. Do you have specific in mind that needs to be cleaned that I can't remember? REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D2395 To: lothiraldan, #hg-reviewers, indygreg Cc: indygreg, mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D2395: stack: add a new module for stack-related commands
indygreg requested changes to this revision. indygreg added a comment. This revision now requires changes to proceed. I assume this stack will get a post-sprint refresh. So I'm going to wait on that before reviewing. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D2395 To: lothiraldan, #hg-reviewers, indygreg Cc: indygreg, mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D2395: stack: add a new module for stack-related commands
lothiraldan updated this revision to Diff 6212. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D2395?vs=6009&id=6212 REVISION DETAIL https://phab.mercurial-scm.org/D2395 AFFECTED FILES mercurial/stack.py CHANGE DETAILS diff --git a/mercurial/stack.py b/mercurial/stack.py new file mode 100644 --- /dev/null +++ b/mercurial/stack.py @@ -0,0 +1,27 @@ +# stack.py - Mercurial functions for stack definition +# +# Copyright Matt Mackall and other +# +# This software may be used and distributed according to the terms of the +# GNU General Public License version 2 or any later version. + +from __future__ import absolute_import + +from . import ( +revsetlang, +scmutil, +) + +def getstack(repo, rev=None): +"""return a smartrev of the stack containing either rev if it is not None +or the current working directory parent. + +The stack will always contain all drafts changesets which are ancestors to +the revision and are not merges. +""" +if rev is None: +rev = '.' + +revspec = 'reverse(only(%s) and not public() and not ::merge())' +revset = revsetlang.formatspec(revspec, rev) +return scmutil.revrange(repo, [revset]) To: lothiraldan, #hg-reviewers, indygreg Cc: indygreg, mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D2395: stack: add a new module for stack-related commands
indygreg requested changes to this revision. indygreg added a comment. This revision now requires changes to proceed. Requires a minor style change. But I like where this is going... INLINE COMMENTS > stack.py:10 > + > +from . import revsetlang, scmutil > + Nit: this doesn't following our import conventions. This should be: from . import ( revsetlang, scmutil, ) REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D2395 To: lothiraldan, #hg-reviewers, indygreg Cc: indygreg, mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D2395: stack: add a new module for stack-related commands
lothiraldan created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Bootstrap the module with a function that returns the stack for the current revision. The definition of the stack is ihnerited from histedit default revset and used by hg show stack. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D2395 AFFECTED FILES mercurial/stack.py CHANGE DETAILS diff --git a/mercurial/stack.py b/mercurial/stack.py new file mode 100644 --- /dev/null +++ b/mercurial/stack.py @@ -0,0 +1,24 @@ +# stack.py - Mercurial functions for stack definition +# +# Copyright Matt Mackall and other +# +# This software may be used and distributed according to the terms of the +# GNU General Public License version 2 or any later version. + +from __future__ import absolute_import + +from . import revsetlang, scmutil + +def getstack(repo, rev=None): +"""return a smartrev of the stack containing either rev if it is not None +or the current working directory parent. + +The stack will always contain all drafts changesets which are ancestors to +the revision and are not merges. +""" +if rev is None: +rev = '.' + +revspec = 'reverse(only(%s) and not public() and not ::merge())' +revset = revsetlang.formatspec(revspec, rev) +return scmutil.revrange(repo, [revset]) To: lothiraldan, #hg-reviewers Cc: mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel