From 48c855bb8f17b86188a704cf8c0c5b4f6a316ade Mon Sep 17 00:00:00 2001 From: Kristoffer Haugsbakk Date: Thu, 7 May 2026 21:42:28 +0200 Subject: [PATCH] doc: add caveat about turning off commit-graph MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The doc `technical/commit-graph.adoc` says that replace objects and commit grafts turn off commit-graph: Commit grafts and replace objects can change the shape of the commit history. The latter can also be enabled/disabled on the fly using `--no-replace-objects`. This leads to difficulty storing both possible interpretations of a commit id, especially when computing generation numbers. The commit-graph will not be read or written when replace-objects or grafts are present. But this isn’t mentioned in the user-facing doc. Let’s mention it on git-replace(1) and git-commit-graph(1). Acked-by: Derrick Stolee Signed-off-by: Kristoffer Haugsbakk Signed-off-by: Junio C Hamano --- Documentation/git-commit-graph.adoc | 6 ++++++ Documentation/git-replace.adoc | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/Documentation/git-commit-graph.adoc b/Documentation/git-commit-graph.adoc index 6d19026035..f2a37e9163 100644 --- a/Documentation/git-commit-graph.adoc +++ b/Documentation/git-commit-graph.adoc @@ -146,6 +146,12 @@ $ git show-ref -s | git commit-graph write --stdin-commits $ git rev-parse HEAD | git commit-graph write --stdin-commits --append ------------------------------------------------ +CAVEATS +------- + +The existence of replace objects or commit grafts turns off reading or +writing to the commit-graph. See linkgit:git-replace[1]. + CONFIGURATION ------------- diff --git a/Documentation/git-replace.adoc b/Documentation/git-replace.adoc index 0a65460adb..436a0e58ca 100644 --- a/Documentation/git-replace.adoc +++ b/Documentation/git-replace.adoc @@ -145,6 +145,13 @@ commit instead of the replaced commit. There may be other problems when using 'git rev-list' related to pending objects. +CAVEATS +------- + +The existence of replace objects or commit grafts turns off reading or +writing to the commit-graph, which can cause performance issues. See +linkgit:git-commit-graph[1]. + SEE ALSO -------- linkgit:git-hash-object[1]