On Sunday, December 24, 2017 12:01:38 AM Johannes Schindelin wrote: > Hi Carl, > > On Sat, 23 Dec 2017, Carl Baldwin wrote: > > I imagine that a "git commit --amend" would also insert > > a "replaces" reference to the original commit but I > > failed to mention that in my original post. > > And cherry-pick, too, of course. > > Both of these examples hint at a rather huge urge of some > users to turn this feature off because the referenced > commits may very well be throw-away commits in their > case, making the newly-recorded information completely > undesired. > > Example: I am working on a topic branch. In the middle, I > see a typo. I commit a fix, continue to work on the topic > branch. Later, I cherry-pick that commit to a separate > topic branch because I really don't think that those two > topics are related. Now I definitely do not want a > reference of the cherry-picked commit to the original > one: the latter will never be pushed to a public > repository, and gc'ed in a few weeks. > > Of course, that is only my wish, other users in similar > situations may want that information. Demonstrating that > you would be better served with an opt-in feature that > uses notes rather than a baked-in commit header. I think what you are highlighting is not when to track this, but rather when to share this tracking. In my local repo, I would definitely want to know that I cherry-picked this from elsewhere, it helps me understand what I have done later when I look back at old commits and branches that need to potentially be thrown away. But I agree you may not want to share these publicly. I am not sure what the right formula is, for when to share these pointers publicly, but it seems like it might be that whenever you push something, it should push along any references to amended commits that were publicly available already. I am not sure how to track that, but I suspect it is a subset of the union of commits you have fetched, and commits you have pushed (i.e. you got it from elsewhere, or you created it and already shared it with others)? Maybe it should also include any commits reachable by advertisements to places you are pushing to (in case it got shared some other way)? -Martin -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation