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

Re: [PATCH 1/3] merge: a random object may not necssarily be a commit

From
Jeff King <peff@peff.net>
Date
Apr 2, 2013, 15:03 UTC
Message-ID
<20130402150343.GA18642@sigill.intra.peff.net>
In-Reply-To
<7vk3olgemi.fsf@alter.siamese.dyndns.org>
On Tue, Apr 02, 2013 at 08:02:13AM -0700, Junio C Hamano wrote:
Show 30 quoted lines
> >> +	if (remote_head->util) {
> >> +		struct merge_remote_desc *desc;
> >> +		desc = merge_remote_util(remote_head);
> >> +		if (desc && desc->obj && desc->obj->type == OBJ_TAG) {
> >> +			strbuf_addf(msg, "%s\t\t%s '%s'\n",
> >> +				    sha1_to_hex(desc->obj->sha1),
> >> +				    typename(desc->obj->type),
> >> +				    remote);
> >> +			goto cleanup;
> >> +		}
> >> +	}
> >> +
> >>  	strbuf_addf(msg, "%s\t\tcommit '%s'\n",
> >>  		sha1_to_hex(remote_head->object.sha1), remote);
> >
> > I guess there is no other object type besides OBJ_TAG and OBJ_COMMIT
> > that would yield something we could merge, but it feels weird that you
> > check only for OBJ_TAG here, and otherwise still say "commit". Would the
> > intent be more clear if it just said:
> >
> >   if (desc && desc->obj && desc->obj->type != OBJ_COMMIT) {
> >           ...
> >
> > ?
> 
> I suspect not.
> 
> The point of the added code is that it knows we want to special case
> merging a tag object, and it wants to keep any other case behaving
> the same as before.

Ah. I read it as "if we have a random object, we do not want to just say "commit X", because it is not a commit.

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 9 of 53 in “git merge <tag> behavior”
  1. Yann DroneaudMar 19, 2013
  2. Junio C HamanoMar 19, 2013
  3. Re* git merge <tag> behaviorJunio C Hamano, Mar 19, 2013
  4. 0/3 Merging an annotated tag objectJunio C Hamano, Apr 1, 2013
  5. 1/3 merge: a random object may not necssarily be a commitJunio C Hamano, Apr 1, 2013
  6. Yann DroneaudApr 1, 2013
  7. Jeff KingApr 2, 2013
  8. Junio C HamanoApr 2, 2013
  9. Jeff KingApr 2, 2013
  10. 2/3 t6200: use test_config/test_unconfigJunio C Hamano, Apr 1, 2013
  11. 3/3 t6200: test message for merging of an annotated tagJunio C Hamano, Apr 1, 2013
  12. Documentation: merging a tag is a special caseYann Droneaud, Mar 20, 2013
  13. Jonathan NiederMar 20, 2013
  14. Junio C HamanoMar 20, 2013
  15. Junio C HamanoMar 21, 2013
  16. Jonathan NiederMar 21, 2013
  17. Junio C HamanoMar 21, 2013
  18. Jonathan NiederMar 21, 2013
  19. Yann DroneaudMar 21, 2013
  20. Documentation: merging a tag is a special caseYann Droneaud, Mar 21, 2013
  21. Jonathan NiederMar 21, 2013
  22. Yann DroneaudMar 20, 2013
  23. Yann DroneaudMar 20, 2013
  24. Junio C HamanoMar 20, 2013
  25. Max NanasyMar 21, 2013
  26. Yann DroneaudMar 22, 2013
  27. t7600: test merge configuration overrideYann Droneaud, Mar 22, 2013
  28. Junio C HamanoMar 22, 2013
  29. 00/15 Use test_configYann Droneaud, Mar 24, 2013
  30. 01/15 t4018: remove test_config implementationYann Droneaud, Mar 24, 2013
  31. 02/15 t7810: remove test_config implementationYann Droneaud, Mar 24, 2013
  32. 03/15 t7811: remove test_config implementationYann Droneaud, Mar 24, 2013
  33. 04/15 t3400: use test_config to set/unset git config variablesYann Droneaud, Mar 24, 2013
  34. 05/15 t4304: use test_config to set/unset git config variablesYann Droneaud, Mar 24, 2013
  35. 06/15 t4034: use test_config/test_unconfig to set/unset git config variablesYann Droneaud, Mar 24, 2013
  36. 07/15 t4202: use test_config/test_unconfig to set/unset git config variablesYann Droneaud, Mar 24, 2013
  37. 08/15 t5520: use test_config to set/unset git config variablesYann Droneaud, Mar 24, 2013
  38. 09/15 t5541: use test_config to set/unset git config variablesYann Droneaud, Mar 24, 2013
  39. 10/15 t7500: use test_config to set/unset git config variablesYann Droneaud, Mar 24, 2013
  40. 11/15 t7502: use test_config to set/unset git config variablesYann Droneaud, Mar 24, 2013
  41. 12/15 t7508: use test_config to set/unset git config variablesYann Droneaud, Mar 24, 2013
  42. 13/15 t7600: use test_config to set/unset git config variablesYann Droneaud, Mar 24, 2013
  43. 14/15 t9500: use test_config to set/unset git config variablesYann Droneaud, Mar 24, 2013
  44. 15/15 t7502: remove clear_configYann Droneaud, Mar 24, 2013
  45. Junio C HamanoMar 27, 2013
  46. Junio C HamanoMar 27, 2013
  47. Yann DroneaudMar 27, 2013
  48. Junio C HamanoMar 22, 2013
  49. t7600: merge tag shoud create a merge commity@quest-ce.net, Mar 22, 2013
  50. t7600: merge tag shoud create a merge commity@quest-ce.net, Mar 22, 2013
  51. Junio C HamanoMar 22, 2013
  52. Yann DroneaudMar 22, 2013
  53. Jeff KingMar 22, 2013

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.