{"thread":{"id":"12761","subject":"StGit: kha/safe and kha/experimental updated","startedAt":"2008-03-19T01:28:04Z","lastAt":"2008-03-25T10:52:43Z","messageCount":5,"participants":["Karl Hasselström","Catalin Marinas"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"72410","messageId":"20080319012804.GA28781@diana.vm.bytemark.co.uk","threadId":"12761","inReplyTo":null,"subject":"StGit: kha/safe and kha/experimental updated","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2008-03-19T01:28:04Z","receivedAt":"2008-03-19T01:28:04Z","isPatch":false,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"kha/safe contains two patches that were posted to the list quite some\ntime ago. Sorry for the delay! kha/experimental still has the\nnew/delete rewrites from way back when, plus a new and shiny \"stg\nreset\" prototype!\n\n                                 -+-\n\nThe following changes since commit 0a03ab4518fca921a8f427d283f29c0fe3625cb2:\n  Onno Kortmann (1):\n        Test the 'stg rename' command\n\nare available in the git repository at:\n\n  git://repo.or.cz/stgit/kha.git safe\n\nAlex Chiang (1):\n      Better \"stg rebase\" help text\n\nAngus Salkeld (1):\n      stg mail crashes when there is no patch description\n\n stgit/commands/mail.py   |    9 +++++++--\n stgit/commands/rebase.py |   14 +++++++++++++-\n 2 files changed, 20 insertions(+), 3 deletions(-)\n\n                                 -+-\n\nThe following changes since commit 70bbc1a3d57cfe0e5eb6839a7889201fdeaa3cd6:\n  Angus Salkeld (1):\n        stg mail crashes when there is no patch description\n\nare available in the git repository at:\n\n  git://repo.or.cz/stgit/kha.git experimental\n\nKarl Hasselström (12):\n      Disable patchlog test for \"stg new\"\n      Convert \"stg new\" to the new infrastructure\n      Refactor --author/--committer options\n      Let \"stg new\" support more message options\n      Emacs mode: use \"stg new --file\"\n      Convert \"stg delete\" to the new infrastructure\n      Emacs mode: delete patches\n      Add property with a list of all patch names\n      Library functions for tree and blob manipulation\n      Write to a stack log when stack is modified\n      Add utility function for reordering patches\n      New command: stg reset\n\n contrib/stgit.el           |   33 +++++++---\n stgit/commands/branch.py   |   18 ++++--\n stgit/commands/clone.py    |    3 +-\n stgit/commands/coalesce.py |    3 +-\n stgit/commands/commit.py   |    6 +-\n stgit/commands/common.py   |   33 +++-------\n stgit/commands/delete.py   |   70 ++++++---------------\n stgit/commands/edit.py     |   26 +-------\n stgit/commands/float.py    |    3 +\n stgit/commands/fold.py     |    3 +-\n stgit/commands/imprt.py    |    3 +-\n stgit/commands/init.py     |    3 +-\n stgit/commands/new.py      |   97 ++++++++++++++++-------------\n stgit/commands/pick.py     |    3 +-\n stgit/commands/pop.py      |    3 +-\n stgit/commands/pull.py     |    3 +-\n stgit/commands/push.py     |    6 +-\n stgit/commands/rebase.py   |    4 +-\n stgit/commands/refresh.py  |    4 +-\n stgit/commands/rename.py   |    4 +-\n stgit/commands/reset.py    |   56 +++++++++++++++++\n stgit/commands/resolved.py |    4 +-\n stgit/commands/sink.py     |    3 +-\n stgit/commands/sync.py     |    5 +-\n stgit/commands/uncommit.py |    2 +-\n stgit/lib/git.py           |  147 ++++++++++++++++++++++++++++++++++++--------\n stgit/lib/log.py           |  105 +++++++++++++++++++++++++++++++\n stgit/lib/stack.py         |    1 +\n stgit/lib/transaction.py   |   17 +++++-\n stgit/main.py              |    2 +\n stgit/utils.py             |   50 +++++++++++++++\n t/t1400-patch-history.sh   |    2 -\n t/t1600-delete-one.sh      |    8 +-\n 33 files changed, 523 insertions(+), 207 deletions(-)\n create mode 100644 stgit/commands/reset.py\n create mode 100644 stgit/lib/log.py\n\n-- \nKarl Hasselström, kha@treskal.com\n      www.treskal.com/kalle\n"},{"id":"72412","messageId":"20080319013832.GB28781@diana.vm.bytemark.co.uk","threadId":"12761","inReplyTo":"20080319012804.GA28781@diana.vm.bytemark.co.uk","subject":"Re: StGit: kha/safe and kha/experimental updated","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2008-03-19T01:38:32Z","receivedAt":"2008-03-19T01:38:32Z","isPatch":false,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"On 2008-03-19 02:28:04 +0100, Karl Hasselström wrote:\n\n> plus a new and shiny \"stg reset\" prototype!\n\nIt works like this:\n\n  1. Every StGit command that modifies anything writes the new state\n     to a log. The log is a git branch called <branchname>.stgit.\n\n  2. When you've done something you regret, find the state in the log\n     you want to return to and just say (for example)\n\n       $ stg reset master.stgit~3\n\n     Resetting is recorded in the log just like everything else, so to\n     undo a reset you just did, simply say\n\n       $ stg reset master.stgit^\n\nThere are lots of things that have to be ironed out before it's done,\nespecially the UI, but it's ready for folks to play with and comment\non.\n\n-- \nKarl Hasselström, kha@treskal.com\n      www.treskal.com/kalle\n"},{"id":"72519","messageId":"b0943d9e0803200825y18971975qd79bf51157a97684@mail.gmail.com","threadId":"12761","inReplyTo":"20080319013832.GB28781@diana.vm.bytemark.co.uk","subject":"Re: StGit: kha/safe and kha/experimental updated","fromName":"Catalin Marinas","fromEmail":"catalin.marinas@gmail.com","sentAt":"2008-03-20T15:25:04Z","receivedAt":"2008-03-20T15:25:04Z","isPatch":false,"sender":{"key":"catalin.marinas@gmail.com","avatar":null},"body":"On 19/03/2008, Karl Hasselström <kha@treskal.com> wrote:\n> On 2008-03-19 02:28:04 +0100, Karl Hasselström wrote:\n>\n>  > plus a new and shiny \"stg reset\" prototype!\n>\n>\n> It works like this:\n>\n>   1. Every StGit command that modifies anything writes the new state\n>      to a log. The log is a git branch called <branchname>.stgit.\n>\n>   2. When you've done something you regret, find the state in the log\n>      you want to return to and just say (for example)\n>\n>        $ stg reset master.stgit~3\n>\n>      Resetting is recorded in the log just like everything else, so to\n>      undo a reset you just did, simply say\n>\n>        $ stg reset master.stgit^\n\nThat's cool :-), thanks. We can even add aliases for 'undo' and 'redo'.\n\n-- \nCatalin\n"},{"id":"72925","messageId":"20080324182647.GD23337@diana.vm.bytemark.co.uk","threadId":"12761","inReplyTo":"b0943d9e0803200825y18971975qd79bf51157a97684@mail.gmail.com","subject":"Re: StGit: kha/safe and kha/experimental updated","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2008-03-24T18:26:47Z","receivedAt":"2008-03-24T18:26:47Z","isPatch":false,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"On 2008-03-20 15:25:04 +0000, Catalin Marinas wrote:\n\n> We can even add aliases for 'undo' and 'redo'.\n\nIt's not entirely clear (to me at least) exactly what undo and redo\nshould do. Something like this maybe:\n\n  undo: If the log begins with k \"undo\" entries (k >= 0), reset to\n        log~(2k+1).\n\n  redo: Find the most recent \"undo\" entry that hasn't been cancelled\n        out by a \"redo\". If this is the most recent log entry (except\n        the cancelled-out ones), reset to it; otherwise, complain that\n        the last command was not an undo or redo.\n\nI _think_ this does what one naively expects undo and redo to do.\n\n-- \nKarl Hasselström, kha@treskal.com\n      www.treskal.com/kalle\n"},{"id":"73030","messageId":"b0943d9e0803250352g2c6d441cke3bcff5d9c0ee769@mail.gmail.com","threadId":"12761","inReplyTo":"20080324182647.GD23337@diana.vm.bytemark.co.uk","subject":"Re: StGit: kha/safe and kha/experimental updated","fromName":"Catalin Marinas","fromEmail":"catalin.marinas@gmail.com","sentAt":"2008-03-25T10:52:43Z","receivedAt":"2008-03-25T10:52:43Z","isPatch":false,"sender":{"key":"catalin.marinas@gmail.com","avatar":null},"body":"On 24/03/2008, Karl Hasselström <kha@treskal.com> wrote:\n> On 2008-03-20 15:25:04 +0000, Catalin Marinas wrote:\n>\n>  > We can even add aliases for 'undo' and 'redo'.\n>\n>\n> It's not entirely clear (to me at least) exactly what undo and redo\n>  should do. Something like this maybe:\n>\n>   undo: If the log begins with k \"undo\" entries (k >= 0), reset to\n>         log~(2k+1).\n>\n>   redo: Find the most recent \"undo\" entry that hasn't been cancelled\n>         out by a \"redo\". If this is the most recent log entry (except\n>         the cancelled-out ones), reset to it; otherwise, complain that\n>         the last command was not an undo or redo.\n>\n>  I _think_ this does what one naively expects undo and redo to do.\n\nYes, something like this. Anyway, this can be explained in the help\nwithout adding separate commands (at least for now).\n\n-- \nCatalin\n"}]}