X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/87c93eab2ff972a33bacecc9175e4a960c1408ec..a77bfa77826bd527205401e8030574e2ddee7ebe:/stgit/stack.py diff --git a/stgit/stack.py b/stgit/stack.py index bdb4e38..ad1ed2b 100644 --- a/stgit/stack.py +++ b/stgit/stack.py @@ -145,7 +145,7 @@ class StgitObject: elif os.path.isfile(fname): os.remove(fname) - + class Patch(StgitObject): """Basic patch implementation """ @@ -623,7 +623,6 @@ class Series(PatchSet): self.create_empty_field('applied') self.create_empty_field('unapplied') - self._set_field('orig-base', git.get_head()) config.set(self.format_version_key(), str(FORMAT_VERSION)) @@ -857,7 +856,7 @@ class Series(PatchSet): assert not before_existing or (top and bottom) assert not (commit and before_existing) assert (top and bottom) or (not top and not bottom) - assert not top or (bottom == git.get_commit(top).get_parent()) + assert commit or (not top or (bottom == git.get_commit(top).get_parent())) if name != None: self.__patch_name_valid(name) @@ -1168,7 +1167,8 @@ class Series(PatchSet): patch = self.get_patch(name) if git.get_head_file() == self.get_name(): - if keep and not git.apply_diff(git.get_head(), patch.get_bottom()): + if keep and not git.apply_diff(git.get_head(), patch.get_bottom(), + check_index = False): raise StackException( 'Failed to pop patches while preserving the local changes') git.switch(patch.get_bottom(), keep)