From: Shawn Pearce Date: Mon, 21 Oct 2013 16:35:07 GMT Subject: Re: RFE: support change-id generation natively Message-ID: In-Reply-To: <1382370119.28365.36627953.50C0496E@webmail.messagingengine.com> On Mon, Oct 21, 2013 at 8:41 AM, wrote: > The change-id is exactly like a commit-id, it is an SHA-1 value, but it > is a constant embedded in the commit message. https://gerrit-review.googlesource.com/Documentation/user-changeid.html goes into more detail about these. > Commit-ids change all the time because of amend; change-ids are constant > and they are the key that links commit revisions to a discussion. In a mailing list based workflow, when an author revises a patch series and resends the new patches aren't linked to the old patches in a MUA, because the Message-Ids of the original versions were not preserved. Imagine if Git saved that original Message-Id somewhere and could properly write In-Reply-To headers so that attempt #2 for each patch replies to the end of the thread discussing attempt #1 of the same patch. In a 30 patch series. Gerrit does this with Change-Id. We briefly considered putting the Change-Id into the commit headers (e.g. below the optional encoding) but could not because `git commit` doesn't support this. So it went into the footer along with Signed-off-by provenance data, which is also not expressible in headers.