From: Karl Wiberg Date: Fri, 18 Dec 2009 09:23:38 GMT Subject: Re: [RFC PATCH] Record a single transaction for conflicting push operations Message-ID: In-Reply-To: <20091217232212.4869.43002.stgit@toshiba-laptop> On Fri, Dec 18, 2009 at 12:22 AM, Catalin Marinas wrote: > 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