* [StGit PATCH 5/6] Don't have a global crt_series in stgit.commans.common
2007-10-08 8:55 [StGit PATCH 0/6] Survive capital punishment Karl Hasselström
` (3 preceding siblings ...)
2007-10-08 8:55 ` [StGit PATCH 4/6] Refactor crt_series creation Karl Hasselström
@ 2007-10-08 8:55 ` Karl Hasselström
2007-10-08 8:55 ` [StGit PATCH 6/6] Let some commands work with detached HEAD Karl Hasselström
2007-10-08 8:58 ` [StGit PATCH 0/6] Survive capital punishment Karl Hasselström
6 siblings, 0 replies; 12+ messages in thread
From: Karl Hasselström @ 2007-10-08 8:55 UTC (permalink / raw)
To: Catalin Marinas; +Cc: git
Global variables baaad. Instead, pass it as a parameter to the
functions that need it.
Signed-off-by: Karl Hasselström <kha@treskal.com>
---
stgit/commands/branch.py | 8 ++++----
stgit/commands/clean.py | 4 ++--
stgit/commands/commit.py | 2 +-
stgit/commands/common.py | 22 ++++++++++------------
stgit/commands/delete.py | 4 ++--
stgit/commands/diff.py | 7 ++++---
stgit/commands/edit.py | 6 +++---
stgit/commands/files.py | 4 ++--
stgit/commands/float.py | 6 +++---
stgit/commands/fold.py | 5 +++--
stgit/commands/goto.py | 8 ++++----
stgit/commands/id.py | 2 +-
stgit/commands/imprt.py | 7 ++++---
stgit/commands/mail.py | 16 +++++++++-------
stgit/commands/new.py | 2 +-
stgit/commands/pick.py | 12 ++++++------
stgit/commands/pop.py | 8 ++++----
stgit/commands/pull.py | 14 +++++++-------
stgit/commands/push.py | 8 ++++----
stgit/commands/rebase.py | 12 ++++++------
stgit/commands/refresh.py | 10 +++++-----
stgit/commands/series.py | 5 +++--
stgit/commands/show.py | 2 +-
stgit/commands/sink.py | 6 +++---
stgit/commands/sync.py | 8 ++++----
stgit/commands/uncommit.py | 2 +-
stgit/main.py | 1 -
27 files changed, 97 insertions(+), 94 deletions(-)
diff --git a/stgit/commands/branch.py b/stgit/commands/branch.py
index 6e0a6d8..cbb97f6 100644
--- a/stgit/commands/branch.py
+++ b/stgit/commands/branch.py
@@ -112,7 +112,7 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
tree_id = None
if len(args) >= 2:
@@ -141,7 +141,7 @@ def func(parser, options, args):
# exception in branch = rev_parse() leaves branchpoint unbound
branchpoint = None
- tree_id = branchpoint or git_id(args[1])
+ tree_id = branchpoint or git_id(crt_series, args[1])
if parentbranch:
out.info('Recording "%s" as parent branch' % parentbranch)
@@ -182,7 +182,7 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
out.start('Cloning current branch to "%s"' % clone)
crt_series.clone(clone)
@@ -294,7 +294,7 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
out.start('Switching to branch "%s"' % args[0])
git.switch_branch(args[0])
diff --git a/stgit/commands/clean.py b/stgit/commands/clean.py
index d8bbe71..4484ecd 100644
--- a/stgit/commands/clean.py
+++ b/stgit/commands/clean.py
@@ -61,7 +61,7 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
if not (options.applied or options.unapplied):
options.applied = options.unapplied = True
@@ -74,4 +74,4 @@ def func(parser, options, args):
unapplied = crt_series.get_unapplied()
__delete_empty(unapplied, False)
- print_crt_patch()
+ print_crt_patch(crt_series)
diff --git a/stgit/commands/commit.py b/stgit/commands/commit.py
index 2b45c0d..23b4dc1 100644
--- a/stgit/commands/commit.py
+++ b/stgit/commands/commit.py
@@ -45,7 +45,7 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
applied = crt_series.get_applied()
if not applied:
diff --git a/stgit/commands/common.py b/stgit/commands/common.py
index 652039f..2a80e8c 100644
--- a/stgit/commands/common.py
+++ b/stgit/commands/common.py
@@ -28,8 +28,6 @@ from stgit.run import *
from stgit import stack, git, basedir
from stgit.config import config, file_extensions
-crt_series = None
-
# Command exception class
class CmdException(StgException):
@@ -74,7 +72,7 @@ def parse_rev(rev):
# No, we can't parse that.
raise RevParseException
-def git_id(rev):
+def git_id(crt_series, rev):
"""Return the GIT id
"""
if not rev:
@@ -112,7 +110,7 @@ def check_local_changes():
raise CmdException, \
'local changes in the tree. Use "refresh" or "status --reset"'
-def check_head_top_equal():
+def check_head_top_equal(crt_series):
if not crt_series.head_top_equal():
raise CmdException(
"""HEAD and top are not the same. This can happen if you
@@ -125,7 +123,7 @@ def check_conflicts():
'Unsolved conflicts. Please resolve them first or\n' \
' revert the changes with "status --reset"'
-def print_crt_patch(branch = None):
+def print_crt_patch(crt_series, branch = None):
if not branch:
patch = crt_series.get_current()
else:
@@ -158,7 +156,7 @@ def resolved_all(reset = None):
resolved(filename, reset)
os.remove(os.path.join(basedir.get(), 'conflicts'))
-def push_patches(patches, check_merged = False):
+def push_patches(crt_series, patches, check_merged = False):
"""Push multiple patches onto the stack. This function is shared
between the push and pull commands
"""
@@ -197,7 +195,7 @@ def push_patches(patches, check_merged = False):
else:
out.done()
-def pop_patches(patches, keep = False):
+def pop_patches(crt_series, patches, keep = False):
"""Pop the patches in the list from the stack. It is assumed that
the patches are listed in the stack reverse order.
"""
@@ -319,7 +317,7 @@ def address_or_alias(addr_str):
for addr in addr_str.split(',')]
return ', '.join([addr for addr in addr_list if addr])
-def prepare_rebase():
+def prepare_rebase(crt_series):
# pop all patches
applied = crt_series.get_applied()
if len(applied) > 0:
@@ -328,9 +326,9 @@ def prepare_rebase():
out.done()
return applied
-def rebase(target):
+def rebase(crt_series, target):
try:
- tree_id = git_id(target)
+ tree_id = git_id(crt_series, target)
except:
# it might be that we use a custom rebase command with its own
# target type
@@ -345,12 +343,12 @@ def rebase(target):
git.rebase(tree_id = tree_id)
out.done()
-def post_rebase(applied, nopush, merged):
+def post_rebase(crt_series, applied, nopush, merged):
# memorize that we rebased to here
crt_series._set_field('orig-base', git.get_head())
# push the patches back
if not nopush:
- push_patches(applied, merged)
+ push_patches(crt_series, applied, merged)
#
# Patch description/e-mail/diff parsing
diff --git a/stgit/commands/delete.py b/stgit/commands/delete.py
index 8462857..fdb254e 100644
--- a/stgit/commands/delete.py
+++ b/stgit/commands/delete.py
@@ -71,7 +71,7 @@ def func(parser, options, args):
if applied and not options.branch:
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
# delete the patches
for patch in applied + patches:
@@ -79,4 +79,4 @@ def func(parser, options, args):
out.info('Patch "%s" successfully deleted' % patch)
if not options.branch:
- print_crt_patch()
+ print_crt_patch(crt_series)
diff --git a/stgit/commands/diff.py b/stgit/commands/diff.py
index f3b0ea2..42e8367 100644
--- a/stgit/commands/diff.py
+++ b/stgit/commands/diff.py
@@ -86,9 +86,10 @@ def func(parser, options, args):
diff_flags = []
if options.stat:
- out.stdout_raw(git.diffstat(args, git_id(rev1), git_id(rev2)) + '\n')
+ out.stdout_raw(git.diffstat(args, git_id(crt_series, rev1),
+ git_id(crt_series, rev2)) + '\n')
else:
- diff_str = git.diff(args, git_id(rev1), git_id(rev2),
- diff_flags = diff_flags )
+ diff_str = git.diff(args, git_id(crt_series, rev1),
+ git_id(crt_series, rev2), diff_flags = diff_flags )
if diff_str:
pager(diff_str)
diff --git a/stgit/commands/edit.py b/stgit/commands/edit.py
index 02970bc..89d534a 100644
--- a/stgit/commands/edit.py
+++ b/stgit/commands/edit.py
@@ -203,13 +203,13 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
if pname != crt_pname:
# Go to the patch to be edited
applied = crt_series.get_applied()
between = applied[:applied.index(pname):-1]
- pop_patches(between)
+ pop_patches(crt_series, between)
if options.author:
options.authname, options.authemail = name_email(options.author)
@@ -241,4 +241,4 @@ def func(parser, options, args):
if pname != crt_pname:
# Push the patches back
between.reverse()
- push_patches(between)
+ push_patches(crt_series, between)
diff --git a/stgit/commands/files.py b/stgit/commands/files.py
index 07cc955..4550251 100644
--- a/stgit/commands/files.py
+++ b/stgit/commands/files.py
@@ -57,8 +57,8 @@ def func(parser, options, args):
else:
parser.error('incorrect number of arguments')
- rev1 = git_id('%s//bottom' % patch)
- rev2 = git_id('%s//top' % patch)
+ rev1 = git_id(crt_series, '%s//bottom' % patch)
+ rev2 = git_id(crt_series, '%s//top' % patch)
if options.stat:
out.stdout_raw(git.diffstat(rev1 = rev1, rev2 = rev2) + '\n')
diff --git a/stgit/commands/float.py b/stgit/commands/float.py
index d5299fb..6c07136 100644
--- a/stgit/commands/float.py
+++ b/stgit/commands/float.py
@@ -46,7 +46,7 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
unapplied = crt_series.get_unapplied()
applied = crt_series.get_applied()
@@ -85,7 +85,7 @@ def func(parser, options, args):
# check whether the operation is really needed
if topop != topush:
if topop:
- pop_patches(topop)
+ pop_patches(crt_series, topop)
if topush:
topush.reverse()
- push_patches(topush)
+ push_patches(crt_series, topush)
diff --git a/stgit/commands/fold.py b/stgit/commands/fold.py
index 6e43101..3930a1f 100644
--- a/stgit/commands/fold.py
+++ b/stgit/commands/fold.py
@@ -50,7 +50,7 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
if len(args) == 1:
filename = args[0]
@@ -74,7 +74,8 @@ def func(parser, options, args):
bottom = crt_patch.get_bottom()
git.apply_patch(filename = filename, base = bottom)
elif options.base:
- git.apply_patch(filename = filename, base = git_id(options.base))
+ git.apply_patch(filename = filename,
+ base = git_id(crt_series, options.base))
else:
git.apply_patch(filename = filename)
diff --git a/stgit/commands/goto.py b/stgit/commands/goto.py
index 9e008a9..e7aa588 100644
--- a/stgit/commands/goto.py
+++ b/stgit/commands/goto.py
@@ -44,7 +44,7 @@ def func(parser, options, args):
parser.error('incorrect number of arguments')
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
if not options.keep:
check_local_changes()
@@ -56,13 +56,13 @@ def func(parser, options, args):
if patch in applied:
applied.reverse()
patches = applied[:applied.index(patch)]
- pop_patches(patches, options.keep)
+ pop_patches(crt_series, patches, options.keep)
elif patch in unapplied:
if options.keep:
raise CmdException, 'Cannot use --keep with patch pushing'
patches = unapplied[:unapplied.index(patch)+1]
- push_patches(patches)
+ push_patches(crt_series, patches)
else:
raise CmdException, 'Patch "%s" does not exist' % patch
- print_crt_patch()
+ print_crt_patch(crt_series)
diff --git a/stgit/commands/id.py b/stgit/commands/id.py
index 3e28f2f..94b0229 100644
--- a/stgit/commands/id.py
+++ b/stgit/commands/id.py
@@ -48,4 +48,4 @@ def func(parser, options, args):
else:
parser.error('incorrect number of arguments')
- out.stdout(git_id(id_str))
+ out.stdout(git_id(crt_series, id_str))
diff --git a/stgit/commands/imprt.py b/stgit/commands/imprt.py
index 045f185..d6e950c 100644
--- a/stgit/commands/imprt.py
+++ b/stgit/commands/imprt.py
@@ -165,7 +165,8 @@ def __create_patch(filename, message, author_name, author_email,
else:
out.start('Importing patch "%s"' % patch)
if options.base:
- git.apply_patch(diff = diff, base = git_id(options.base))
+ git.apply_patch(diff = diff,
+ base = git_id(crt_series, options.base))
else:
git.apply_patch(diff = diff)
crt_series.refresh_patch(edit = options.edit,
@@ -270,7 +271,7 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
if len(args) == 1:
filename = args[0]
@@ -286,4 +287,4 @@ def func(parser, options, args):
else:
__import_file(filename, options)
- print_crt_patch()
+ print_crt_patch(crt_series)
diff --git a/stgit/commands/mail.py b/stgit/commands/mail.py
index 4a4158a..883a4f3 100644
--- a/stgit/commands/mail.py
+++ b/stgit/commands/mail.py
@@ -350,8 +350,8 @@ def __build_cover(tmpl, patches, msg_id, options):
'shortlog': stack.shortlog(crt_series.get_patch(p)
for p in patches),
'diffstat': git.diffstat(
- rev1 = git_id('%s//bottom' % patches[0]),
- rev2 = git_id('%s//top' % patches[-1]))}
+ rev1 = git_id(crt_series, '%s//bottom' % patches[0]),
+ rev2 = git_id(crt_series, '%s//top' % patches[-1]))}
try:
msg_string = tmpl % tmpl_dict
@@ -435,11 +435,13 @@ def __build_message(tmpl, patch, patch_nr, total_nr, msg_id, ref_id, options):
'longdescr': long_descr,
# for backward template compatibility
'endofheaders': '',
- 'diff': git.diff(rev1 = git_id('%s//bottom' % patch),
- rev2 = git_id('%s//top' % patch),
- diff_flags = diff_flags ),
- 'diffstat': git.diffstat(rev1 = git_id('%s//bottom'%patch),
- rev2 = git_id('%s//top' % patch)),
+ 'diff': git.diff(
+ rev1 = git_id(crt_series, '%s//bottom' % patch),
+ rev2 = git_id(crt_series, '%s//top' % patch),
+ diff_flags = diff_flags),
+ 'diffstat': git.diffstat(
+ rev1 = git_id(crt_series, '%s//bottom'%patch),
+ rev2 = git_id(crt_series, '%s//top' % patch)),
# for backward template compatibility
'date': '',
'version': version_str,
diff --git a/stgit/commands/new.py b/stgit/commands/new.py
index ccc8141..b0a57d1 100644
--- a/stgit/commands/new.py
+++ b/stgit/commands/new.py
@@ -70,7 +70,7 @@ def func(parser, options, args):
parser.error('incorrect number of arguments')
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
if options.author:
options.authname, options.authemail = name_email(options.author)
diff --git a/stgit/commands/pick.py b/stgit/commands/pick.py
index 3acec32..1fcc2e2 100644
--- a/stgit/commands/pick.py
+++ b/stgit/commands/pick.py
@@ -65,10 +65,10 @@ def func(parser, options, args):
if not options.unapplied:
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
commit_str = args[0]
- commit_id = git_id(commit_str)
+ commit_id = git_id(crt_series, commit_str)
commit = git.Commit(commit_id)
if options.fold or options.update:
@@ -84,7 +84,7 @@ def func(parser, options, args):
patchname = None
if options.parent:
- parent = git_id(options.parent)
+ parent = git_id(crt_series, options.parent)
else:
parent = commit.get_parent()
@@ -104,8 +104,8 @@ def func(parser, options, args):
out.done()
elif options.update:
- rev1 = git_id('//bottom')
- rev2 = git_id('//top')
+ rev1 = git_id(crt_series, '//bottom')
+ rev2 = git_id(crt_series, '//top')
files = git.barefiles(rev1, rev2).split('\n')
out.start('Updating with commit %s' % commit_id)
@@ -163,4 +163,4 @@ def func(parser, options, args):
else:
out.done()
- print_crt_patch()
+ print_crt_patch(crt_series)
diff --git a/stgit/commands/pop.py b/stgit/commands/pop.py
index a1d73e4..246cc34 100644
--- a/stgit/commands/pop.py
+++ b/stgit/commands/pop.py
@@ -51,7 +51,7 @@ def func(parser, options, args):
"""Pop the topmost patch from the stack
"""
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
if not options.keep:
check_local_changes()
@@ -83,8 +83,8 @@ def func(parser, options, args):
raise CmdException, 'Cannot pop arbitrary patches with --keep'
topop.reverse()
- pop_patches(topop, options.keep)
+ pop_patches(crt_series, topop, options.keep)
if topush:
- push_patches(topush)
+ push_patches(crt_series, topush)
- print_crt_patch()
+ print_crt_patch(crt_series)
diff --git a/stgit/commands/pull.py b/stgit/commands/pull.py
index 5fcf2cc..e5ee17d 100644
--- a/stgit/commands/pull.py
+++ b/stgit/commands/pull.py
@@ -74,12 +74,12 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
if policy not in ['pull', 'fetch-rebase', 'rebase']:
raise GitConfigException, 'Unsupported pull-policy "%s"' % policy
- applied = prepare_rebase()
+ applied = prepare_rebase(crt_series)
# pull the remote changes
if policy == 'pull':
@@ -92,17 +92,17 @@ def func(parser, options, args):
target = git.fetch_head()
except git.GitException:
out.error('Could not find the remote head to rebase onto, pushing any patches back...')
- post_rebase(applied, False, False)
+ post_rebase(crt_series, applied, False, False)
raise CmdException, 'Could not find the remote head to rebase onto - fix branch.%s.merge in .git/config' % crt_series.get_name()
- rebase(target)
+ rebase(crt_series, target)
elif policy == 'rebase':
- rebase(crt_series.get_parent_branch())
+ rebase(crt_series, crt_series.get_parent_branch())
- post_rebase(applied, options.nopush, options.merged)
+ post_rebase(crt_series, applied, options.nopush, options.merged)
# maybe tidy up
if config.get('stgit.keepoptimized') == 'yes':
git.repack()
- print_crt_patch()
+ print_crt_patch(crt_series)
diff --git a/stgit/commands/push.py b/stgit/commands/push.py
index 4d5de26..979835b 100644
--- a/stgit/commands/push.py
+++ b/stgit/commands/push.py
@@ -72,13 +72,13 @@ def func(parser, options, args):
out.done()
else:
out.done('patch unchanged')
- print_crt_patch()
+ print_crt_patch(crt_series)
return
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
unapplied = crt_series.get_unapplied()
if not unapplied:
@@ -99,6 +99,6 @@ def func(parser, options, args):
if options.reverse:
patches.reverse()
- push_patches(patches, options.merged)
+ push_patches(crt_series, patches, options.merged)
- print_crt_patch()
+ print_crt_patch(crt_series)
diff --git a/stgit/commands/rebase.py b/stgit/commands/rebase.py
index bbb3e12..c4d74b7 100644
--- a/stgit/commands/rebase.py
+++ b/stgit/commands/rebase.py
@@ -48,14 +48,14 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
# ensure an exception is raised before popping on non-existent target
- if git_id(args[0]) == None:
+ if git_id(crt_series, args[0]) == None:
raise GitException, 'Unknown revision: %s' % args[0]
- applied = prepare_rebase()
- rebase(args[0])
- post_rebase(applied, options.nopush, options.merged)
+ applied = prepare_rebase(crt_series)
+ rebase(crt_series, args[0])
+ post_rebase(crt_series, applied, options.nopush, options.merged)
- print_crt_patch()
+ print_crt_patch(crt_series)
diff --git a/stgit/commands/refresh.py b/stgit/commands/refresh.py
index f032375..7cde392 100644
--- a/stgit/commands/refresh.py
+++ b/stgit/commands/refresh.py
@@ -73,7 +73,7 @@ def func(parser, options, args):
raise CmdException, 'No patches applied'
if not options.force:
- check_head_top_equal()
+ check_head_top_equal(crt_series)
if options.undo:
out.start('Undoing the refresh of "%s"' % patch)
@@ -89,10 +89,10 @@ def func(parser, options, args):
if options.patch:
applied = crt_series.get_applied()
between = applied[:applied.index(patch):-1]
- pop_patches(between, keep = True)
+ pop_patches(crt_series, between, keep = True)
elif options.update:
- rev1 = git_id('//bottom')
- rev2 = git_id('//top')
+ rev1 = git_id(crt_series, '//bottom')
+ rev2 = git_id(crt_series, '//top')
patch_files = git.barefiles(rev1, rev2).split('\n')
files = [f for f in files if f in patch_files]
if not files:
@@ -113,7 +113,7 @@ def func(parser, options, args):
if options.patch:
between.reverse()
- push_patches(between)
+ push_patches(crt_series, between)
elif options.annotate:
# only annotate the top log entry as there is no need to
# refresh the patch and generate a full commit
diff --git a/stgit/commands/series.py b/stgit/commands/series.py
index 2c75876..4c6d07e 100644
--- a/stgit/commands/series.py
+++ b/stgit/commands/series.py
@@ -195,12 +195,13 @@ def func(parser, options, args):
raise CmdException, '--graphical not supported with --missing'
if applied:
- gitk_args = ' %s^..%s' % (git_id(applied[0]), git_id(applied[-1]))
+ gitk_args = ' %s^..%s' % (git_id(crt_series, applied[0]),
+ git_id(crt_series, applied[-1]))
else:
gitk_args = ''
for p in unapplied:
- patch_id = git_id(p)
+ patch_id = git_id(crt_series, p)
gitk_args += ' %s^..%s' % (patch_id, patch_id)
if os.system('gitk%s' % gitk_args) != 0:
diff --git a/stgit/commands/show.py b/stgit/commands/show.py
index 7efb4e1..e4e70a5 100644
--- a/stgit/commands/show.py
+++ b/stgit/commands/show.py
@@ -69,7 +69,7 @@ def func(parser, options, args):
else:
diff_flags = []
- commit_ids = [git_id(patch) for patch in patches]
+ commit_ids = [git_id(crt_series, patch) for patch in patches]
commit_str = '\n'.join([git.pretty_commit(commit_id, diff_flags=diff_flags)
for commit_id in commit_ids])
if commit_str:
diff --git a/stgit/commands/sink.py b/stgit/commands/sink.py
index 737dde0..b177337 100644
--- a/stgit/commands/sink.py
+++ b/stgit/commands/sink.py
@@ -45,7 +45,7 @@ def func(parser, options, args):
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
oldapplied = crt_series.get_applied()
unapplied = crt_series.get_unapplied()
@@ -61,10 +61,10 @@ def func(parser, options, args):
patches = [ crt_series.get_current() ]
crt_series.pop_patch(options.to or oldapplied[0])
- push_patches(patches)
+ push_patches(crt_series, patches)
if not options.nopush:
newapplied = crt_series.get_applied()
def not_reapplied_yet(p):
return not p in newapplied
- push_patches(filter(not_reapplied_yet, oldapplied))
+ push_patches(crt_series, filter(not_reapplied_yet, oldapplied))
diff --git a/stgit/commands/sync.py b/stgit/commands/sync.py
index 8a31c29..6066f82 100644
--- a/stgit/commands/sync.py
+++ b/stgit/commands/sync.py
@@ -51,7 +51,7 @@ options = [make_option('-a', '--all',
def __check_all():
check_local_changes()
check_conflicts()
- check_head_top_equal()
+ check_head_top_equal(crt_series)
def __branch_merge_patch(remote_series, pname):
"""Merge a patch from a remote branch into the current tree.
@@ -131,13 +131,13 @@ def func(parser, options, args):
# pop to the one before the first patch to be synchronised
popped = applied[applied.index(sync_patches[0]) + 1:]
if popped:
- pop_patches(popped[::-1])
+ pop_patches(crt_series, popped[::-1])
for p in sync_patches:
if p in popped:
# push to this patch
idx = popped.index(p) + 1
- push_patches(popped[:idx])
+ push_patches(crt_series, popped[:idx])
del popped[:idx]
# the actual sync
@@ -166,4 +166,4 @@ def func(parser, options, args):
# push the remaining patches
if popped:
- push_patches(popped)
+ push_patches(crt_series, popped)
diff --git a/stgit/commands/uncommit.py b/stgit/commands/uncommit.py
index a23ae20..8e62d23 100644
--- a/stgit/commands/uncommit.py
+++ b/stgit/commands/uncommit.py
@@ -66,7 +66,7 @@ def func(parser, options, args):
if len(args) != 0:
parser.error('cannot specify patch name with --to')
patch_nr = patchnames = None
- to_commit = git_id(options.to)
+ to_commit = git_id(crt_series, options.to)
elif options.number:
if options.number <= 0:
parser.error('invalid value passed to --number')
diff --git a/stgit/main.py b/stgit/main.py
index db327f1..e8242c2 100644
--- a/stgit/main.py
+++ b/stgit/main.py
@@ -277,7 +277,6 @@ def main():
command.crt_series = Series(options.branch)
else:
command.crt_series = Series()
- stgit.commands.common.crt_series = command.crt_series
command.func(parser, options, args)
except (StgException, IOError, ParsingError, NoSectionError), err:
^ permalink raw reply related [flat|nested] 12+ messages in thread