git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 4/5] log: decorate grafted commits with "grafted"

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Aug 18, 2011, 12:29 UTC
Message-ID
<1313670578-2939-5-git-send-email-pclouds@gmail.com>
In-Reply-To
<1313670578-2939-1-git-send-email-pclouds@gmail.com>

In shallow repositories, this may help detect whether a branch ends, or it is deeper than current depth.

It also show graft points that extend a branch.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 log-tree.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/log-tree.c b/log-tree.c
index 344f734..5605244 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -18,6 +18,7 @@ enum decoration_type {
 	DECORATION_REF_TAG,
 	DECORATION_REF_STASH,
 	DECORATION_REF_HEAD,
+	DECORATION_GRAFTED,
 };
 
 static char decoration_colors[][COLOR_MAXLEN] = {
@@ -27,6 +28,7 @@ static char decoration_colors[][COLOR_MAXLEN] = {
 	GIT_COLOR_BOLD_YELLOW,	/* REF_TAG */
 	GIT_COLOR_BOLD_MAGENTA,	/* REF_STASH */
 	GIT_COLOR_BOLD_CYAN,	/* REF_HEAD */
+	GIT_COLOR_BOLD_BLUE,	/* GRAFTED */
 };
 
 static const char *decorate_get_color(int decorate_use_color, enum decoration_type ix)
@@ -118,6 +120,15 @@ static int add_ref_decoration(const char *refname, const unsigned char *sha1, in
 	return 0;
 }
 
+static int add_graft_decoration(const struct commit_graft *graft, void *cb_data)
+{
+	struct commit *commit = lookup_commit(graft->sha1);
+	if (!commit)
+		return 0;
+	add_name_decoration(DECORATION_GRAFTED, "grafted", &commit->object);
+	return 0;
+}
+
 void load_ref_decorations(int flags)
 {
 	static int loaded;
@@ -125,6 +136,7 @@ void load_ref_decorations(int flags)
 		loaded = 1;
 		for_each_ref(add_ref_decoration, &flags);
 		head_ref(add_ref_decoration, &flags);
+		for_each_commit_graft(add_graft_decoration, NULL);
 	}
 }
 
-- 
1.7.4.74.g639db
Previous: Junio C HamanoNext: Junio C Hamano
Message 10 of 14 in “log: decorate grafted commits with "grafted"”
  1. log: decorate grafted commits with "grafted"Nguyễn Thái Ngọc Duy, Aug 17, 2011
  2. Junio C HamanoAug 17, 2011
  3. Nguyen Thai Ngoc DuyAug 18, 2011
  4. 0/5 Decorate grafts and replacesNguyễn Thái Ngọc Duy, Aug 18, 2011
  5. 1/5 decoration: do not mis-decorate refs with same prefixNguyễn Thái Ngọc Duy, Aug 18, 2011
  6. Junio C HamanoAug 18, 2011
  7. 2/5 Add for_each_commit_graft() to iterate all graftsNguyễn Thái Ngọc Duy, Aug 18, 2011
  8. 3/5 Move write_shallow_commits to fetch-pack.cNguyễn Thái Ngọc Duy, Aug 18, 2011
  9. Junio C HamanoAug 18, 2011
  10. 4/5 log: decorate grafted commits with "grafted"Nguyễn Thái Ngọc Duy, Aug 18, 2011
  11. Junio C HamanoAug 18, 2011
  12. 5/5 log: decorate "replaced" on to replaced commitsNguyễn Thái Ngọc Duy, Aug 18, 2011
  13. Junio C HamanoAug 18, 2011
  14. log: decorate "replaced" on to replaced commitsNguyễn Thái Ngọc Duy, Aug 19, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.