{"thread":{"id":"33357","subject":"RFC: allowing multiple parallel sequencers","startedAt":"2013-04-02T17:46:40Z","lastAt":"2013-04-03T20:14:45Z","messageCount":4,"participants":["Neil Horman","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"212926","messageId":"20130402174640.GA14473@neilslaptop.think-freely.org","threadId":"33357","inReplyTo":null,"subject":"RFC: allowing multiple parallel sequencers","fromName":"Neil Horman","fromEmail":"nhorman@tuxdriver.com","sentAt":"2013-04-02T17:46:40Z","receivedAt":"2013-04-02T17:46:40Z","isPatch":false,"sender":{"key":"nhorman@tuxdriver.com","avatar":"https://avatars.githubusercontent.com/u/1032926?v=4"},"body":"Hey-\n\tI've recently started looking into the possibility of having git support\nmultiple in-progress sequencers, and wanted to solicit opinions for how best to\ndo it.  The use case is primarily for cherry-pick - i.e. I often have need to\ncherry pick a large set of commits to an older kernel, and I may do this for\nseveral work efforts in parallel.  As such, it would be great if I could be able\nto have multiple sequencer states in progress that could be swapped out with one\nanother.  I know this could be done manually by saving the sequencer directory\nto another name and moving it back, but it would be really nice if there was\nsomething a bit more polished and integrated.  The thoughts I had were:\n\n1) A per branch sequence directory - when creating the sequence directory,\nprepend the name of the branch that you are on to the sequencer directory name,\nand lookup the sequencer using that prefix.  This would fit quite well I think.\nIt would allow us to maintain a sequencer per branch, and would be relatively\neasy to implement (we would need to have a generic function to return the\ncurrent branch name, and some extra check to delete sequencers when branches are\ndeleted, but nothing too difficult).  It would be problematic however, in that\nworking in detached head state would preclude the use of the mechanism (we could\nwork around that by using a global sequencer in detached head mode, or we could\nadd an option to specify a sequencer prefix).\n\n2) Augment the git-stash command to save sequencer state optionally.  This would\nbe somewhat more difficult to implement I think (we would need to add\n.git/sequencer/* to the untracked file list when creating the stash commit).  It\nwould however allow arbitrary sequencers to be used on arbitrary branches\n(including detached head mode, if thats useful).\n\nSo, before I went implementing, I wanted to solicit opinions here.  Does anyone\nhave any thoughts (including completely different directions to move in for this\nfeature)?\n\nThanks!\nNeil\n"},{"id":"212931","messageId":"7v38v8eriz.fsf@alter.siamese.dyndns.org","threadId":"33357","inReplyTo":"20130402174640.GA14473@neilslaptop.think-freely.org","subject":"Re: RFC: allowing multiple parallel sequencers","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-04-02T18:06:28Z","receivedAt":"2013-04-02T18:06:28Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Neil Horman <nhorman@tuxdriver.com> writes:\n\n> \tI've recently started looking into the possibility of having git support\n> multiple in-progress sequencers, and wanted to solicit opinions for how best to\n> do it.... The thoughts I had were:\n>\n> 1) A per branch sequence directory...\n> 2) Augment the git-stash command...\n\n3) A per branch working tree.\n\nThat is how I would do this myself, anyway ;-)\n"},{"id":"212956","messageId":"20130402190651.GA17620@hmsreliant.think-freely.org","threadId":"33357","inReplyTo":"7v38v8eriz.fsf@alter.siamese.dyndns.org","subject":"Re: RFC: allowing multiple parallel sequencers","fromName":"Neil Horman","fromEmail":"nhorman@tuxdriver.com","sentAt":"2013-04-02T19:06:51Z","receivedAt":"2013-04-02T19:06:51Z","isPatch":false,"sender":{"key":"nhorman@tuxdriver.com","avatar":"https://avatars.githubusercontent.com/u/1032926?v=4"},"body":"On Tue, Apr 02, 2013 at 11:06:28AM -0700, Junio C Hamano wrote:\n> Neil Horman <nhorman@tuxdriver.com> writes:\n> \n> > \tI've recently started looking into the possibility of having git support\n> > multiple in-progress sequencers, and wanted to solicit opinions for how best to\n> > do it.... The thoughts I had were:\n> >\n> > 1) A per branch sequence directory...\n> > 2) Augment the git-stash command...\n> \n> 3) A per branch working tree.\n> \n> That is how I would do this myself, anyway ;-)\n> \nNot sure I completely follow.  Are you suggesting that all untracked\nfiles, indexes and meta data in .git be saved during a branch switch?\n\nThanks\nNeil\n"},{"id":"213067","messageId":"20130403201445.GD32276@hmsreliant.think-freely.org","threadId":"33357","inReplyTo":"20130402190651.GA17620@hmsreliant.think-freely.org","subject":"Re: RFC: allowing multiple parallel sequencers","fromName":"Neil Horman","fromEmail":"nhorman@tuxdriver.com","sentAt":"2013-04-03T20:14:45Z","receivedAt":"2013-04-03T20:14:45Z","isPatch":false,"sender":{"key":"nhorman@tuxdriver.com","avatar":"https://avatars.githubusercontent.com/u/1032926?v=4"},"body":"On Tue, Apr 02, 2013 at 03:06:51PM -0400, Neil Horman wrote:\n> On Tue, Apr 02, 2013 at 11:06:28AM -0700, Junio C Hamano wrote:\n> > Neil Horman <nhorman@tuxdriver.com> writes:\n> > \n> > > \tI've recently started looking into the possibility of having git support\n> > > multiple in-progress sequencers, and wanted to solicit opinions for how best to\n> > > do it.... The thoughts I had were:\n> > >\n> > > 1) A per branch sequence directory...\n> > > 2) Augment the git-stash command...\n> > \n> > 3) A per branch working tree.\n> > \n> > That is how I would do this myself, anyway ;-)\n> > \n> Not sure I completely follow.  Are you suggesting that all untracked\n> files, indexes and meta data in .git be saved during a branch switch?\n> \n> Thanks\n> Neil\n> \n> --\nScratch that, after some digging I located the git-new-workdir script in the\ncontrib directory, which does what we're talking about here.\n\nThanks!\nNeil\n\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n> \n"}]}