{"thread":{"id":"906","subject":"porcelain question: state of the art for undo-redo?","startedAt":"2005-06-11T08:51:34Z","lastAt":"2005-06-14T01:25:25Z","messageCount":2,"participants":["Jon Seymour","Daniel Barkalow"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"4867","messageId":"2cfc40320506110151624b3ec1@mail.gmail.com","threadId":"906","inReplyTo":null,"subject":"porcelain question: state of the art for undo-redo?","fromName":"Jon Seymour","fromEmail":"jon.seymour@gmail.com","sentAt":"2005-06-11T08:51:34Z","receivedAt":"2005-06-11T08:51:34Z","isPatch":false,"sender":{"key":"jon.seymour@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207131?v=4"},"body":"What porcelain layer solutions currently exist for effective undo-edit-redo?\n\nFor example, if you are working on a series of patches in a series,\nthen realise there is a mistake in a patch early in the series, how\ndoes one mod that patch, then reapply all the following patches to\nproduce a slightly modified patch series with as little stuffing\naround as possible?\n\njon.\n-- \nhomepage: http://www.zeta.org.au/~jon/\nblog: http://orwelliantremors.blogspot.com/\n"},{"id":"4926","messageId":"Pine.LNX.4.21.0506132056210.30848-100000@iabervon.org","threadId":"906","inReplyTo":"2cfc40320506110151624b3ec1@mail.gmail.com","subject":"Re: porcelain question: state of the art for undo-redo?","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2005-06-14T01:25:25Z","receivedAt":"2005-06-14T01:25:25Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Sat, 11 Jun 2005, Jon Seymour wrote:\n\n> What porcelain layer solutions currently exist for effective undo-edit-redo?\n> \n> For example, if you are working on a series of patches in a series,\n> then realise there is a mistake in a patch early in the series, how\n> does one mod that patch, then reapply all the following patches to\n> produce a slightly modified patch series with as little stuffing\n> around as possible?\n\nI personally commit changes as I make them (essentially, and time I'm\nabout to make a change that might not work out, I commit the previous\nstate). Once I'm completely satisfied with the results, I redo the whole\nthing as a series of commits from the base as self-contained changes.\n\nTo do this, I get a repository which contains the base (as master) and the\nresult of my previous work. Then I repeat the following steps:\n\nDiff the work against the head into a temporary file.\nRemove all of the hunks I don't want yet from the file.\nApply the file.\nCommit.\n\nI stop when the diff is either empty or contains only junk I didn't\nactually mean to include.\n\nThen I submit the series thus created.\n\nI generally then diff once more, remove anything I actually don't want to\nhave (as opposed to wanting to have but not submit), apply and commit to\nform a new work head. Then I throw away the old work head.\n\nIf I screw this up, I just start over, since I have all the actual content\nsafe.\n\n\t-Daniel\n*This .sig left intentionally blank*\n\n"}]}