Hi, Take the following dummy repo: $ git init $ git commit --allow-empty -m 'first' $ git notes add -m 'first note' $ git commit --allow-empty -m 'second' $ git notes add -m 'second note' $ git commit --allow-empty -m 'third' $ git notes add -m 'third note' $ git log --format='%s - %N' third - third note second - second note first - first note Now, let's say you have some other history that you want to graft: $ git checkout --orphan old $ git commit --allow-empty -m 'real first' $ git notes add -m 'real first note' $ git commit --allow-empty -m 'real second' $ git notes add -m 'real second note' $ git commit --allow-empty -m 'real third' $ git notes add -m 'real third note' $ git log --format='%s - %N' real third - real third note real second - real second note real first - real first note Assuming that the "first" commit on master is the same as the "real third" on old, you can graft with: $ git rev-parse master~ old | xargs > .git/info/grafts And then: $ git log master --format='%s - %N' third - third note second - second note real third - real third note real second - real second note real first - real first note Now, if you try to do the same with replace: $ rm .git/info/grafts $ git replace master~2 old $ git log master --format='%s - %N' third - third note second - second note real third - first note real second - real second note real first - real first note Note how "real third" now has "first note", instead of "real third note". So the question is, is this the behavior this should have? Cheers, Mike -- 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