(I've hijacked this thread and started talking mostly about StGit instead of git-sequencer; if you're not interested, you can stop reading now.) On 2008-07-08 12:37:50 +0200, Jakub Narebski wrote: > 1. Splitting a patch > > I cannot comment well on git-sequencer, as I have started using > StGIT patch management interface instead of git-rebase in times when > there were no "git rebase --interactive". Nevertheless working with > StGIT is a bit similar to working with interactive rebase... > > I don't find myself wanting to join two patches into one (to squadh > a commit) perhaps because when I want to add something to a commit > (to a patch) I simply go to this patch, edit files, and refresh the > patch. You can do this without having to manually go to the right patch with the -p <patchname> flag to stg refresh. In my experimental branch, this even works together with path limited refresh, or refresh of just the index. My own workflow is different: I generally make a large number of rather small "work-in-progress" commits without much of a commit message, and every now and then (while I still have everything in short-term memory) I use "stg coalesce" to make one or more "real" patches out of them. Because I've committed such small pieces in the first place, I rarely need to split a patch. > From time to time however I find myself SPLITTING a patch, for > example extracting something added "by the way"/"while at it" into > separate commit (like late separate better documenting project_index > file format from adding optional description field to project_index > file format). The best way I've found of splitting a patch in StGit is to open the diff in an Emacs buffer, then pop the patch, and then use Emacs' cool diff-mode features to apply hunks selectively, split hunks, edit files in place, etc., and committing at the points where I want patch boundaries. Occasionally, I'll push and pop the patch to get a new diff with only the remaining stuff. I imagine something like this could work without StGit as well, since it's mostly Emacs doing all the hard work. (And I suppose there are other tools besides Emacs that can do this?) -- Karl Hasselström, kha@xxxxxxxxxxx www.treskal.com/kalle -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html