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

[PATCH v3 48/53] merge: convert checkout_fast_forward to struct object_id

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
May 6, 2017, 22:10 UTC
Message-ID
<20170506221038.296722-49-sandals@crustytoothpaste.net>
In-Reply-To
<20170506221038.296722-1-sandals@crustytoothpaste.net>

Converting checkout_fast_forward is required to convert parse_tree_indirect.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 builtin/merge.c | 4 ++--
 builtin/pull.c  | 4 ++--
 cache.h         | 4 ++--
 merge.c         | 8 ++++----
 sequencer.c     | 2 +-
 5 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index f11b5f3de..5ea7f7da9 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -1372,8 +1372,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
 			goto done;
 		}
 
-		if (checkout_fast_forward(head_commit->object.oid.hash,
-					  commit->object.oid.hash,
+		if (checkout_fast_forward(&head_commit->object.oid,
+					  &commit->object.oid,
 					  overwrite_ignore)) {
 			ret = 1;
 			goto done;
diff --git a/builtin/pull.c b/builtin/pull.c
index 2ffb6569a..318c273eb 100644
--- a/builtin/pull.c
+++ b/builtin/pull.c
@@ -523,7 +523,7 @@ static int pull_into_void(const struct object_id *merge_head,
 	 * index/worktree changes that the user already made on the unborn
 	 * branch.
 	 */
-	if (checkout_fast_forward(EMPTY_TREE_SHA1_BIN, merge_head->hash, 0))
+	if (checkout_fast_forward(&empty_tree_oid, merge_head, 0))
 		return 1;
 
 	if (update_ref("initial pull", "HEAD", merge_head->hash, curr_head->hash, 0, UPDATE_REFS_DIE_ON_ERR))
@@ -839,7 +839,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
 			"fast-forwarding your working tree from\n"
 			"commit %s."), oid_to_hex(&orig_head));
 
-		if (checkout_fast_forward(orig_head.hash, curr_head.hash, 0))
+		if (checkout_fast_forward(&orig_head, &curr_head, 0))
 			die(_("Cannot fast-forward your working tree.\n"
 				"After making sure that you saved anything precious from\n"
 				"$ git diff %s\n"
diff --git a/cache.h b/cache.h
index e1f0e182a..8862510f9 100644
--- a/cache.h
+++ b/cache.h
@@ -2198,8 +2198,8 @@ struct commit_list;
 int try_merge_command(const char *strategy, size_t xopts_nr,
 		const char **xopts, struct commit_list *common,
 		const char *head_arg, struct commit_list *remotes);
-int checkout_fast_forward(const unsigned char *from,
-			  const unsigned char *to,
+int checkout_fast_forward(const struct object_id *from,
+			  const struct object_id *to,
 			  int overwrite_ignore);
 
 
diff --git a/merge.c b/merge.c
index 04ee5fc91..b0cffe16f 100644
--- a/merge.c
+++ b/merge.c
@@ -44,8 +44,8 @@ int try_merge_command(const char *strategy, size_t xopts_nr,
 	return ret;
 }
 
-int checkout_fast_forward(const unsigned char *head,
-			  const unsigned char *remote,
+int checkout_fast_forward(const struct object_id *head,
+			  const struct object_id *remote,
 			  int overwrite_ignore)
 {
 	struct tree *trees[MAX_UNPACK_TREES];
@@ -79,10 +79,10 @@ int checkout_fast_forward(const unsigned char *head,
 	opts.fn = twoway_merge;
 	setup_unpack_trees_porcelain(&opts, "merge");
 
-	trees[nr_trees] = parse_tree_indirect(head);
+	trees[nr_trees] = parse_tree_indirect(head->hash);
 	if (!trees[nr_trees++])
 		return -1;
-	trees[nr_trees] = parse_tree_indirect(remote);
+	trees[nr_trees] = parse_tree_indirect(remote->hash);
 	if (!trees[nr_trees++])
 		return -1;
 	for (i = 0; i < nr_trees; i++) {
diff --git a/sequencer.c b/sequencer.c
index 9ca352ac7..dcc56a2b6 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -382,7 +382,7 @@ static int fast_forward_to(const struct object_id *to, const struct object_id *f
 	struct strbuf err = STRBUF_INIT;
 
 	read_cache();
-	if (checkout_fast_forward(from->hash, to->hash, 1))
+	if (checkout_fast_forward(from, to, 1))
 		return -1; /* the callee should have complained already */
 
 	strbuf_addf(&sb, _("%s: fast-forward"), _(action_name(opts)));
Previous: brian m. carlsonNext: brian m. carlson
Message 48 of 56 in “object_id part 8”
  1. 00/53 object_id part 8brian m. carlson, May 6, 2017
  2. 02/53 Clean up outstanding object_id transforms.brian m. carlson, May 6, 2017
  3. 01/53 fetch-pack: convert to struct object_idbrian m. carlson, May 6, 2017
  4. 03/53 Convert struct cache_tree to use struct object_idbrian m. carlson, May 6, 2017
  5. 04/53 builtin/name-rev: convert to struct object_idbrian m. carlson, May 6, 2017
  6. 05/53 builtin/prune: convert to struct object_idbrian m. carlson, May 6, 2017
  7. 07/53 branch: convert to struct object_idbrian m. carlson, May 6, 2017
  8. 06/53 bundle: convert to struct object_idbrian m. carlson, May 6, 2017
  9. 08/53 builtin/blame: convert static function to struct object_idbrian m. carlson, May 6, 2017
  10. 09/53 builtin/rev-parse: convert to struct object_idbrian m. carlson, May 6, 2017
  11. 10/53 fast-import: convert internal structs to struct object_idbrian m. carlson, May 6, 2017
  12. 12/53 submodule: convert merge_submodule to use struct object_idbrian m. carlson, May 6, 2017
  13. 11/53 fast-import: convert to struct object_idbrian m. carlson, May 6, 2017
  14. 13/53 notes-cache: convert to struct object_idbrian m. carlson, May 6, 2017
  15. 14/53 parse-options-cb: convert to struct object_idbrian m. carlson, May 6, 2017
  16. 15/53 reflog_expire: convert to struct object_idbrian m. carlson, May 6, 2017
  17. 16/53 builtin/verify-commit: convert to struct object_idbrian m. carlson, May 6, 2017
  18. 17/53 tag: convert parse_tag_buffer to struct object_idbrian m. carlson, May 6, 2017
  19. 18/53 http-push: convert some static functions to struct object_idbrian m. carlson, May 6, 2017
  20. 19/53 notes-utils: convert internals to struct object_idbrian m. carlson, May 6, 2017
  21. 22/53 sequencer: convert some functions to struct object_idbrian m. carlson, May 6, 2017
  22. 20/53 revision: convert prepare_show_merge to struct object_idbrian m. carlson, May 6, 2017
  23. 23/53 builtin/tag: convert to struct object_idbrian m. carlson, May 6, 2017
  24. 24/53 Convert remaining callers of lookup_commit_reference* to object_idbrian m. carlson, May 6, 2017
  25. 26/53 pack: convert struct pack_idx_entry to struct object_idbrian m. carlson, May 6, 2017
  26. 25/53 Convert lookup_commit* to struct object_idbrian m. carlson, May 6, 2017
  27. 27/53 builtin/unpack-objects: convert to struct object_idbrian m. carlson, May 6, 2017
  28. 28/53 Convert remaining callers of lookup_blob to object_idbrian m. carlson, May 6, 2017
  29. 21/53 shallow: convert shallow registration functions to object_idbrian m. carlson, May 6, 2017
  30. 31/53 builtin/reflog: convert tree_is_complete to take struct object_idbrian m. carlson, May 6, 2017
  31. 30/53 tree: convert read_tree_1 to use struct object_id internallybrian m. carlson, May 6, 2017
  32. 29/53 Convert lookup_blob to struct object_idbrian m. carlson, May 6, 2017
  33. 33/53 log-tree: convert to struct object_idbrian m. carlson, May 6, 2017
  34. 32/53 Convert lookup_tree to struct object_idbrian m. carlson, May 6, 2017
  35. 34/53 Convert lookup_tag to struct object_idbrian m. carlson, May 6, 2017
  36. 36/53 Convert struct ref_array_item to struct object_idbrian m. carlson, May 6, 2017
  37. 35/53 Convert the verify_pack callback to struct object_idbrian m. carlson, May 6, 2017
  38. 37/53 ref-filter: convert some static functions to struct object_idbrian m. carlson, May 6, 2017
  39. 38/53 refs: convert struct ref_update to use struct object_idbrian m. carlson, May 6, 2017
  40. 39/53 refs/files-backend: convert many internals to struct object_idbrian m. carlson, May 6, 2017
  41. 41/53 revision: rename add_pending_sha1 to add_pending_oidbrian m. carlson, May 6, 2017
  42. 42/53 revision: convert remaining parse_object callers to object_idbrian m. carlson, May 6, 2017
  43. 40/53 http-push: convert process_ls_object and descendants to object_idbrian m. carlson, May 6, 2017
  44. 43/53 upload-pack: convert remaining parse_object callers to object_idbrian m. carlson, May 6, 2017
  45. 44/53 sha1_name: convert internals of peel_onion to object_idbrian m. carlson, May 6, 2017
  46. 45/53 builtin/read-tree: convert to struct object_idbrian m. carlson, May 6, 2017
  47. 47/53 sequencer: convert fast_forward_to to struct object_idbrian m. carlson, May 6, 2017
  48. 48/53 merge: convert checkout_fast_forward to struct object_idbrian m. carlson, May 6, 2017
  49. 49/53 builtin/ls-tree: convert to struct object_idbrian m. carlson, May 6, 2017
  50. 51/53 sequencer: convert do_recursive_merge to struct object_idbrian m. carlson, May 6, 2017
  51. 52/53 tree: convert parse_tree_indirect to struct object_idbrian m. carlson, May 6, 2017
  52. 46/53 builtin/ls-files: convert overlay_tree_on_cache to object_idbrian m. carlson, May 6, 2017
  53. 50/53 diff-lib: convert do_diff_cache to struct object_idbrian m. carlson, May 6, 2017
  54. 53/53 object: convert parse_object* to take struct object_idbrian m. carlson, May 6, 2017
  55. Jonathan TanMay 8, 2017
  56. Brandon WilliamsMay 9, 2017

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.