git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Add 'stg prev' and 'stg next'

From
HEHannes Eder <heder@google.com>
Date
Aug 7, 2009, 10:45 UTC
Message-ID
<20090807104503.15805.95504.stgit@jazzy.zrh.corp.google.com>

These commands are related to 'stg top'. They print the patch below resp. above the topmost patch, given that they exist.

Signed-off-by: Hannes Eder <heder@google.com>
---
Ok, I confess it's not kill feature, but Mercurial has these commands
and I use them from time to time.  Maybe somebody else finds it useful
as well, so I decided to share it. ;)

Cheers, Hannes

 stgit/commands/next.py |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 stgit/commands/prev.py |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+), 0 deletions(-)
 create mode 100644 stgit/commands/next.py
 create mode 100644 stgit/commands/prev.py
diff --git a/stgit/commands/next.py b/stgit/commands/next.py
new file mode 100644
index 0000000..c8e2599
--- /dev/null
+++ b/stgit/commands/next.py
@@ -0,0 +1,48 @@
+__copyright__ = """
+Copyright (C) 2005, Catalin Marinas <catalin.marinas@gmail.com>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License version 2 as
+published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+"""
+
+from stgit.argparse import opt
+from stgit.commands import common
+from stgit.out import out
+from stgit import argparse
+
+help = 'Print the name of the next patch'
+kind = 'stack'
+usage = ['']
+description = """
+Print the name of the next patch."""
+
+args = []
+options = [
+    opt('-b', '--branch', args = [argparse.stg_branches],
+        short = 'Use BRANCH instead of the default branch')]
+
+directory = common.DirectoryHasRepositoryLib()
+
+def func(parser, options, args):
+    """Show the name of the next patch
+    """
+    if len(args) != 0:
+        parser.error('incorrect number of arguments')
+
+    stack = directory.repository.get_stack(options.branch)
+    unapplied = stack.patchorder.unapplied
+
+    if unapplied:
+        out.stdout(unapplied[0])
+    else:
+        raise common.CmdException, 'No unapplied patches'
diff --git a/stgit/commands/prev.py b/stgit/commands/prev.py
new file mode 100644
index 0000000..79f97a8
--- /dev/null
+++ b/stgit/commands/prev.py
@@ -0,0 +1,48 @@
+__copyright__ = """
+Copyright (C) 2005, Catalin Marinas <catalin.marinas@gmail.com>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License version 2 as
+published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+"""
+
+from stgit.argparse import opt
+from stgit.commands import common
+from stgit.out import out
+from stgit import argparse
+
+help = 'Print the name of the previous patch'
+kind = 'stack'
+usage = ['']
+description = """
+Print the name of the previous patch."""
+
+args = []
+options = [
+    opt('-b', '--branch', args = [argparse.stg_branches],
+        short = 'Use BRANCH instead of the default branch')]
+
+directory = common.DirectoryHasRepositoryLib()
+
+def func(parser, options, args):
+    """Show the name of the previous patch
+    """
+    if len(args) != 0:
+        parser.error('incorrect number of arguments')
+
+    stack = directory.repository.get_stack(options.branch)
+    applied = stack.patchorder.applied
+
+    if applied and len(applied) >= 2:
+        out.stdout(applied[-2])
+    else:
+        raise common.CmdException, 'Not enough applied patches'
Next: Catalin Marinas
Message 1 of 2 in “Add 'stg prev' and 'stg next'”
  1. Add 'stg prev' and 'stg next'Hannes Eder, Aug 7, 2009
  2. Catalin MarinasAug 13, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.