D2395: stack: add a new module for stack-related commands

2018-03-12 Thread lothiraldan (Boris Feld)
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

2018-03-07 Thread indygreg (Gregory Szorc)
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

2018-02-28 Thread lothiraldan (Boris Feld)
lothiraldan updated this revision to Diff 6212.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D2395?vs=6009=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

2018-02-23 Thread indygreg (Gregory Szorc)
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

2018-02-23 Thread lothiraldan (Boris Feld)
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