Re: [RFC PATCH] Record a single transaction for conflicting push operations
- From
Karl Wiberg <kha@treskal.com>
- Date
- Dec 18, 2009, 09:23 UTC
- Message-ID
- <b8197bcb0912180123l4657839ctc121636af3724bee@mail.gmail.com>
- In-Reply-To
- <20091217232212.4869.43002.stgit@toshiba-laptop>
On Fri, Dec 18, 2009 at 12:22 AM, Catalin Marinas <catalin.marinas@gmail.com> wrote:
Show 6 quoted lines
> StGit commands resulting in a conflicting patch pushing record two > transactions in the log (with one of them being inconsistent with > HEAD != top). Undoing such operations requires two "stg undo" > (possibly with --hard) commands which is unintuitive. This patch > changes such operations to only record one log entry and "stg undo" > reverts the stack to the state prior to the operation.
Hmm, OK. It was convenient to be able to undo just the last conflicting step, but I guess the increase in UI complexity wasn't worth it.
I think your patch doesn't go quite far enough, though. self.__conflicting_push is currently set to a function that will do the extra updates that take us from the first to the second state to save in the log; if we'll be saving at only one point, we might as well run those updates immediately instead of deferring them. In other words, the entire __conflicting_push variable could be removed.
-- Karl Wiberg, kha@treskal.com subrabbit.wordpress.com www.treskal.com/kalle