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

Re: [PATCH v3 1/3] diff-merges: improve --diff-merges documentation

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 7, 2023, 01:50 UTC
Message-ID
<xmqqjzrz5hgn.fsf@gitster.g>
In-Reply-To
<CABPp-BGxVnhnmoajWyqY_gMvQ42W5S6VX5EOXq3PW=GLVQwe0g@mail.gmail.com>
Elijah Newren <newren@gmail.com> writes:
Show 7 quoted lines
> In my opinion, --remerge-diff does this better; wouldn't we want a
> rationale where these particular modes shine?  Is that a non-empty
> set?  (It may well be, but to me, --cc was never worse than -c while
> often being better, and likewise, --remerge-diff is never worse than
> --cc while often being better, at least on anything I had thought to
> use any of these for.  Maybe there are other usecases for -c and --cc
> I'm just not thinking of?)

Between -c and --cc, I do not think there is anything that makes us favor -c over --cc. While the algorithm to decide which hunks out of -c's output to omit was being polished, comparison with -c served a good way to give baseline, but once --cc has become solid, I do not think I've used -c myself.

I personally find that a very trivial merge resolution is far easier to read with --cc than --remerge-diff, the latter being way too verbose.

Also, --cc and -c should work inside a read-only repository where you only have read access to. If remerge needs to write some objects to the repository, then you'd need some hack to give a writable object store overlay via the alternate odb mechanism, or something, right?

$ git show --oneline --cc -U1 9fde277c338 9fde277c33 Merge branch 'cc/git-replay' into seen

diff --cc Makefile index cf60c16deb,05a504dc28..c581c1ddba

--- a/Makefile
+++ b/Makefile
@@@ -803,4 -801,2 +803,3 @@@ TEST_BUILTINS_OBJS += test-env-helper.
  TEST_BUILTINS_OBJS += test-example-decorate.o
- TEST_BUILTINS_OBJS += test-fast-rebase.o
 +TEST_BUILTINS_OBJS += test-find-pack.o
  TEST_BUILTINS_OBJS += test-fsmonitor-client.o
diff --cc t/helper/test-tool.c
index 9010ac6de7,9ca1586de7..77b1d7c15d
--- a/t/helper/test-tool.c
+++ b/t/helper/test-tool.c
@@@ -32,4 -32,2 +32,3 @@@ static struct test_cmd cmds[] = 
  	{ "example-decorate", cmd__example_decorate },
- 	{ "fast-rebase", cmd__fast_rebase },
 +	{ "find-pack", cmd__find_pack },
  	{ "fsmonitor-client", cmd__fsmonitor_client },
diff --cc t/helper/test-tool.h
index f134f96b97,a03bbfc6b2..5deeca66fe
--- a/t/helper/test-tool.h
+++ b/t/helper/test-tool.h
@@@ -26,4 -26,2 +26,3 @@@ int cmd__env_helper(int argc, const cha
  int cmd__example_decorate(int argc, const char **argv);
- int cmd__fast_rebase(int argc, const char **argv);
 +int cmd__find_pack(int argc, const char **argv);
  int cmd__fsmonitor_client(int argc, const char **argv);
$ git show --oneline --remerge-diff -U1 9fde277c338
9fde277c33 Merge branch 'cc/git-replay' into seen
diff --git a/Makefile b/Makefile
remerge CONFLICT (content): Merge conflict in Makefile
index 987c8e3569..c581c1ddba 100644
--- a/Makefile
+++ b/Makefile
@@ -803,9 +803,3 @@ TEST_BUILTINS_OBJS += test-env-helper.o
 TEST_BUILTINS_OBJS += test-example-decorate.o
-<<<<<<< 0fd7a144c5 (Merge branch 'js/doc-unit-tests-with-cmake' into seen)
-TEST_BUILTINS_OBJS += test-fast-rebase.o
 TEST_BUILTINS_OBJS += test-find-pack.o
-||||||| 1fc548b2d6
-TEST_BUILTINS_OBJS += test-fast-rebase.o
-=======
->>>>>>> 0b853ad4db (replay: stop assuming replayed branches do not diverge)
 TEST_BUILTINS_OBJS += test-fsmonitor-client.o
diff --git a/t/helper/test-tool.c b/t/helper/test-tool.c
remerge CONFLICT (content): Merge conflict in t/helper/test-tool.c
index 87a9794564..77b1d7c15d 100644
--- a/t/helper/test-tool.c
+++ b/t/helper/test-tool.c
@@ -32,9 +32,3 @@ static struct test_cmd cmds[] = {
 	{ "example-decorate", cmd__example_decorate },
-<<<<<<< 0fd7a144c5 (Merge branch 'js/doc-unit-tests-with-cmake' into seen)
-	{ "fast-rebase", cmd__fast_rebase },
 	{ "find-pack", cmd__find_pack },
-||||||| 1fc548b2d6
-	{ "fast-rebase", cmd__fast_rebase },
-=======
->>>>>>> 0b853ad4db (replay: stop assuming replayed branches do not diverge)
 	{ "fsmonitor-client", cmd__fsmonitor_client },
diff --git a/t/helper/test-tool.h b/t/helper/test-tool.h
remerge CONFLICT (content): Merge conflict in t/helper/test-tool.h
index e8abf4c42f..5deeca66fe 100644
--- a/t/helper/test-tool.h
+++ b/t/helper/test-tool.h
@@ -26,9 +26,3 @@ int cmd__env_helper(int argc, const char **argv);
 int cmd__example_decorate(int argc, const char **argv);
-<<<<<<< 0fd7a144c5 (Merge branch 'js/doc-unit-tests-with-cmake' into seen)
-int cmd__fast_rebase(int argc, const char **argv);
 int cmd__find_pack(int argc, const char **argv);
-||||||| 1fc548b2d6
-int cmd__fast_rebase(int argc, const char **argv);
-=======
->>>>>>> 0b853ad4db (replay: stop assuming replayed branches do not diverge)
 int cmd__fsmonitor_client(int argc, const char **argv);
Previous: Elijah NewrenNext: Junio C Hamano
Message 40 of 55 in “diff-merges: introduce '-d' option”
  1. 0/2 diff-merges: introduce '-d' optionSergey Organov, Sep 9, 2023
  2. 2/2 diff-merges: introduce '-d' optionSergey Organov, Sep 9, 2023
  3. Junio C HamanoSep 11, 2023
  4. Sergey OrganovSep 12, 2023
  5. Junio C HamanoSep 14, 2023
  6. Sergey OrganovSep 14, 2023
  7. Junio C HamanoSep 15, 2023
  8. Sergey OrganovSep 16, 2023
  9. Junio C HamanoSep 26, 2023
  10. Sergey OrganovSep 26, 2023
  11. Junio C HamanoSep 26, 2023
  12. Sergey OrganovSep 26, 2023
  13. 1/2 diff-merges: improve --diff-merges documentationSergey Organov, Sep 9, 2023
  14. Junio C HamanoSep 11, 2023
  15. Sergey OrganovSep 12, 2023
  16. Junio C HamanoSep 13, 2023
  17. Sergey OrganovSep 18, 2023
  18. Junio C HamanoSep 19, 2023
  19. Sergey OrganovSep 19, 2023
  20. 0/2 diff-merges: introduce '-d' optionSergey Organov, Sep 20, 2023
  21. 2/2 diff-merges: introduce '-d' optionSergey Organov, Sep 20, 2023
  22. 1/2 diff-merges: improve --diff-merges documentationSergey Organov, Sep 20, 2023
  23. 0/3 diff-merges: introduce '--dd' optionSergey Organov, Oct 4, 2023
  24. 2/3 diff-merges: introduce '--dd' optionSergey Organov, Oct 4, 2023
  25. Junio C HamanoOct 5, 2023
  26. Sergey OrganovOct 6, 2023
  27. 1/3 diff-merges: improve --diff-merges documentationSergey Organov, Oct 4, 2023
  28. Eric SunshineOct 4, 2023
  29. Sergey OrganovOct 4, 2023
  30. Junio C HamanoOct 5, 2023
  31. Sergey OrganovOct 6, 2023
  32. Junio C HamanoOct 5, 2023
  33. Elijah NewrenOct 6, 2023
  34. Sergey OrganovOct 6, 2023
  35. Sergey OrganovOct 6, 2023
  36. Junio C HamanoOct 6, 2023
  37. Sergey OrganovOct 6, 2023
  38. Junio C HamanoOct 6, 2023
  39. Elijah NewrenOct 7, 2023
  40. Junio C HamanoOct 7, 2023
  41. Junio C HamanoOct 7, 2023
  42. Elijah NewrenOct 9, 2023
  43. Junio C HamanoOct 10, 2023
  44. [silly] worldview documents?Junio C Hamano, Oct 10, 2023
  45. Emily ShafferOct 10, 2023
  46. Sergey OrganovOct 6, 2023
  47. Sergey OrganovOct 6, 2023
  48. 3/3 completion: complete '--dd'Sergey Organov, Oct 4, 2023
  49. Junio C HamanoOct 5, 2023
  50. Sergey OrganovOct 6, 2023
  51. 0/3 diff-merges: introduce '--dd' optionSergey Organov, Oct 9, 2023
  52. 2/3 diff-merges: introduce '--dd' optionSergey Organov, Oct 9, 2023
  53. 1/3 diff-merges: improve --diff-merges documentationSergey Organov, Oct 9, 2023
  54. 3/3 completion: complete '--dd'Sergey Organov, Oct 9, 2023
  55. Junio C HamanoOct 9, 2023

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.