Enrico Weigelt wrote: > I didnt have time for a deeper look yet, but I'll try to explain > my ideas a bit more: > > Suppose I choose to work on an branch "one" (which probably is > synced to some remote). That will create some temporary (local) > WIP branch, where [...] > Now I click some "commit" button and it asks me what > exactly to commit - I now can interactively selected changes to > be committed (maybe even on single changelets within a file), > they'll be squashed together (maybe involving some rebase magic) > and an commit final commit object is created on the "one" branch. Ah, that is completely different. :) Your tools would be GIT_INDEX_FILE=$GIT_DIR/wip-index; export GIT_INDEX_FILE git update-index ... git write-tree git commit-tree ... git update-ref ... git read-tree ... none of which touch HEAD except the second to last one. See the list of "low-level commands (plumbing)" and examples in contrib/examples for more details. -- 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