* [StGit PATCH] Add --file option to pick
@ 2009-01-14 22:59 Catalin Marinas
2009-01-15 8:26 ` Karl Hasselström
0 siblings, 1 reply; 2+ messages in thread
From: Catalin Marinas @ 2009-01-14 22:59 UTC (permalink / raw)
To: git, Karl Hasselström
This allows folding of specific files only.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
---
stgit/commands/pick.py | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/stgit/commands/pick.py b/stgit/commands/pick.py
index ee08c01..b0e9114 100644
--- a/stgit/commands/pick.py
+++ b/stgit/commands/pick.py
@@ -52,6 +52,8 @@ options = [
short = 'Fold the commit object into the current patch'),
opt('--update', action = 'store_true',
short = 'Like fold but only update the current patch files'),
+ opt('-f', '--files', action = 'append',
+ short = 'Only fold the given files'),
opt('--unapplied', action = 'store_true',
short = 'Keep the patch unapplied')]
@@ -83,8 +85,11 @@ def __pick_commit(commit_id, patchname, options):
out.start('Folding commit %s' % commit_id)
# try a direct git apply first
- if not git.apply_diff(bottom, top):
- git.merge_recursive(bottom, git.get_head(), top)
+ if not git.apply_diff(bottom, top, files = options.files):
+ if options.files:
+ raise CmdException, 'Patch folding failed'
+ else:
+ git.merge_recursive(bottom, git.get_head(), top)
out.done()
elif options.update:
@@ -152,6 +157,9 @@ def func(parser, options, args):
if not args:
parser.error('incorrect number of arguments')
+ if options.files and not options.fold:
+ parser.error('--file can only be specified with --fold')
+
if not options.unapplied:
check_local_changes()
check_conflicts()
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [StGit PATCH] Add --file option to pick
2009-01-14 22:59 [StGit PATCH] Add --file option to pick Catalin Marinas
@ 2009-01-15 8:26 ` Karl Hasselström
0 siblings, 0 replies; 2+ messages in thread
From: Karl Hasselström @ 2009-01-15 8:26 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git
On 2009-01-14 22:59:30 +0000, Catalin Marinas wrote:
> + opt('-f', '--files', action = 'append',
> + short = 'Only fold the given files'),
The long form should probably be "--file", since you only list one
file for every flag (and since you call it "--file" in the last hunk).
And the help text could be something like
Only fold the given file (for multiple files, use -f more than once)
> + raise CmdException, 'Patch folding failed'
This is not important, but I believe the recommended syntax for
raising exceptions nowadays is
CmdException('Patch folding failed')
since that's what'll continue to work in Python 3, or something like
that. (I see you already use it in the multi-line case in the other
patch, where this syntax is clearly the better choice.)
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-01-15 8:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-14 22:59 [StGit PATCH] Add --file option to pick Catalin Marinas
2009-01-15 8:26 ` Karl Hasselström
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).