On 05/18/2014 08:29 PM, Christian Couder wrote: > The usage string for this option is: > > git replace [-f] --graft <commit> [<parent>...] > > First we create a new commit that is the same as <commit> > except that its parents are [<parents>...] > > Then we create a replace ref that replace <commit> with > the commit we just created. > > With this new option, it should be straightforward to > convert grafts to replace refs, with something like: > > cat .git/info/grafts | while read line > do git replace --graft $line; done I love the functionality; I think it's a great step towards making grafts obsolete. I haven't worked with Git's object reading/writing code much, but it surprised me that you are editing the commit object basically as a string, using hard-coded length constants and stuff. It seems error-prone, and we already have a commit parser. Would it be possible to program this at a higher layer of abstraction based on the commit object produced by the existing commit parser? E.g., edit the object it produces, and write the result? Or create a new commit object out of the parsed commit object and write that? It's great that you're working on this! Michael -- Michael Haggerty mhagger@xxxxxxxxxxxx http://softwareswirl.blogspot.com/ -- 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