On 14/09/2007, David Kågedal <davidk@xxxxxxxxxxxxxx> wrote: > This patch adds a number of assertions to document and verify the > complex restrictions of the input parameters to the Series.new_patch > function. It also adds the requirement that 'before_existing' and > 'commit' cannot be true at the same time when calling it, instead of > updating 'commit' inside the function. [...] > --- a/stgit/stack.py > +++ b/stgit/stack.py > @@ -833,9 +833,16 @@ class Series(PatchSet): > author_name = None, author_email = None, author_date = None, > committer_name = None, committer_email = None, > before_existing = False): > - """Creates a new patch > + """Creates a new patch, either pointing to an existing commit object, > + or by creating a new commit object. > """ > > + assert commit or (top and bottom) > + 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()) The last assertion here prevents the use of 'stg pick --reverse'. This command creates an unapplied patch with top and bottom reversed and pushes it to force a three-way merge. It seems to work OK if I comment it out but I wonder whether it will break in the future with the planned removal of the top and bottom files. Thanks. -- Catalin - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html