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

Re: Remove diff machinery dependency from read-cache

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Jan 22, 2010, 02:25 UTC
Message-ID
<alpine.LFD.2.00.1001211823590.13231@localhost.localdomain>
In-Reply-To
<alpine.LFD.2.00.1001211811140.13231@localhost.localdomain>
On Thu, 21 Jan 2010, Linus Torvalds wrote:
Show 6 quoted lines
> 
> > By the way, do you think anybody still uses "git merge-trees"?
> 
> I dunno. I think it has some conceptual advantages, but realistically, I 
> doubt anybody is willing to go through the pain to make it grow up enough 
> to become a viable alternative to our current situation.
This makes it a built-in, at least, so it doesn't waste the diskspace.
		Linus
---
 Makefile                             |    2 +-
 merge-tree.c => builtin-merge-tree.c |    4 +---
 builtin.h                            |    1 +
 git.c                                |    1 +
 4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index 3439d2c..35aea16 100644
--- a/Makefile
+++ b/Makefile
@@ -391,7 +391,6 @@ PROGRAMS += git-hash-object$X
 PROGRAMS += git-imap-send$X
 PROGRAMS += git-index-pack$X
 PROGRAMS += git-merge-index$X
-PROGRAMS += git-merge-tree$X
 PROGRAMS += git-mktag$X
 PROGRAMS += git-pack-redundant$X
 PROGRAMS += git-patch-id$X
@@ -670,6 +669,7 @@ BUILTIN_OBJS += builtin-merge-base.o
 BUILTIN_OBJS += builtin-merge-file.o
 BUILTIN_OBJS += builtin-merge-ours.o
 BUILTIN_OBJS += builtin-merge-recursive.o
+BUILTIN_OBJS += builtin-merge-tree.o
 BUILTIN_OBJS += builtin-mktree.o
 BUILTIN_OBJS += builtin-mv.o
 BUILTIN_OBJS += builtin-name-rev.o
diff --git a/merge-tree.c b/builtin-merge-tree.c
similarity index 99%
rename from merge-tree.c
rename to builtin-merge-tree.c
index 37b94d9..8e16c3e 100644
--- a/merge-tree.c
+++ b/builtin-merge-tree.c
@@ -337,7 +337,7 @@ static void *get_tree_descriptor(struct tree_desc *desc, const char *rev)
 	return buf;
 }
 
-int main(int argc, char **argv)
+int cmd_merge_tree(int argc, const char **argv, const char *prefix)
 {
 	struct tree_desc t[3];
 	void *buf1, *buf2, *buf3;
@@ -347,8 +347,6 @@ int main(int argc, char **argv)
 
 	git_extract_argv0_path(argv[0]);
 
-	setup_git_directory();
-
 	buf1 = get_tree_descriptor(t+0, argv[1]);
 	buf2 = get_tree_descriptor(t+1, argv[2]);
 	buf3 = get_tree_descriptor(t+2, argv[3]);
diff --git a/builtin.h b/builtin.h
index 4d73d7c..06bf04e 100644
--- a/builtin.h
+++ b/builtin.h
@@ -70,6 +70,7 @@ extern int cmd_merge_base(int argc, const char **argv, const char *prefix);
 extern int cmd_merge_ours(int argc, const char **argv, const char *prefix);
 extern int cmd_merge_file(int argc, const char **argv, const char *prefix);
 extern int cmd_merge_recursive(int argc, const char **argv, const char *prefix);
+extern int cmd_merge_tree(int argc, const char **argv, const char *prefix);
 extern int cmd_mktree(int argc, const char **argv, const char *prefix);
 extern int cmd_mv(int argc, const char **argv, const char *prefix);
 extern int cmd_name_rev(int argc, const char **argv, const char *prefix);
diff --git a/git.c b/git.c
index 5fabf18..e5964a8 100644
--- a/git.c
+++ b/git.c
@@ -335,6 +335,7 @@ static void handle_internal_command(int argc, const char **argv)
 		{ "merge-recursive-ours", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE },
 		{ "merge-recursive-theirs", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE },
 		{ "merge-subtree", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE },
+		{ "merge-tree", cmd_merge_tree, RUN_SETUP },
 		{ "mktree", cmd_mktree, RUN_SETUP },
 		{ "mv", cmd_mv, RUN_SETUP | NEED_WORK_TREE },
 		{ "name-rev", cmd_name_rev, RUN_SETUP },
Previous: Linus TorvaldsNext: Linus Torvalds
Message 12 of 23 in “Remove diff machinery dependency from read-cache”
  1. Linus TorvaldsJan 21, 2010
  2. Junio C HamanoJan 21, 2010
  3. Linus TorvaldsJan 21, 2010
  4. Linus TorvaldsJan 21, 2010
  5. Linus TorvaldsJan 21, 2010
  6. Junio C HamanoJan 22, 2010
  7. Johannes SchindelinJan 22, 2010
  8. Junio C HamanoJan 22, 2010
  9. Johannes SchindelinJan 22, 2010
  10. Junio C HamanoJan 22, 2010
  11. Linus TorvaldsJan 22, 2010
  12. Linus TorvaldsJan 22, 2010
  13. Linus TorvaldsJan 22, 2010
  14. Johannes SixtJan 22, 2010
  15. merge-tree: remove unnecessary call of git_extract_argv0_pathJohannes Sixt, Jan 22, 2010
  16. Linus TorvaldsJan 22, 2010
  17. Nicolas PitreJan 22, 2010
  18. Linus TorvaldsJan 22, 2010
  19. Junio C HamanoJan 22, 2010
  20. Linus TorvaldsJan 22, 2010
  21. Linus TorvaldsJan 22, 2010
  22. Linus TorvaldsJan 22, 2010
  23. Brian CampbellJan 23, 2010

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.