Package: git-debrebase
Version: 12.10
Severity: important

git-debrebase has some `fresh_workarea` and `in_workarea` functions
that it uses to manage private playground directories.  But, there is
a bug: if `in_workarea` is called recursively, on return to the
intermediate context, the cwd has been changed back to the $maindir,
rather than the intermediate playground directory.

This can result in strange changes to the user's ref namespace, git
index, and/or working tree.

I think this kind of recursion only happens when encountering "vanilla
merges".  Certainly, when I added a tripwire for this, those were the
only cases where our test suite failed.

Prior to 12.10 these were behind an "exprimental" option.  This is a
failure mode I hadn't anticipated when I decided to turn this option
on by default.  The consequences can be rather more severe.

I think they should be fixed with a stable update (not just an upload
to -backports).  I will prepare a a patch that is suitable for
backporting to the `trixie` branch.

Ian.

-- 
Ian Jackson <[email protected]>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.

Reply via email to