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

[PATCH] Make git revert warn the user when reverting a merge commit.

From
Boyd Stephen Smith Jr. <bss@iguanasuicide.net>
Date
Dec 19, 2008, 02:39 UTC
Message-ID
<200812182039.15169.bss@iguanasuicide.net>
Signed-off-by: Boyd Stephen Smith Jr <bss@iguanasuicide.net>
---
On Thursday 2008 December 18 18:21:25 Linus Torvalds wrote:
> I suspect we should warn about reverting merges.

Here is a patch (aginst c0ceb2c, which I believe is master currently) that does just that.

After applying the patch I get the following test results: fixed 1 success 4108 failed 0 broken 4 total 4113

 builtin-revert.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/builtin-revert.c b/builtin-revert.c
index 4038b41..7f121a5 100644
--- a/builtin-revert.c
+++ b/builtin-revert.c
@@ -296,6 +296,21 @@ static int revert_or_cherry_pick(int argc, const char 
**argv)
 		int cnt;
 		struct commit_list *p;
 
+		do {
+			switch (action) {
+			case REVERT:
+				warning("revert on a merge commit may not do what you expect.");
+				continue;
+			case CHERRY_PICK:
+				/* Cherry picking a merge doesn't merge the history, but
+				 * I don't think many people expect that.
+				 */
+				continue;
+			}
+			/* Unhandled enum member. */
+			die("Unknown action on a merge commit.");
+		} while (0);
+
 		if (!mainline)
 			die("Commit %s is a merge but no -m option was given.",
 			    sha1_to_hex(commit->object.sha1));
-- 
1.5.6
-- 
Boyd Stephen Smith Jr.                     ,= ,-_-. =. 
bss@iguanasuicide.net                     ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy           `-'(. .)`-' 
http://iguanasuicide.net/                      \_/     
Next: Johannes Schindelin
Message 1 of 24 in “Make git revert warn the user when reverting a merge commit.”
  1. Make git revert warn the user when reverting a merge commit.Boyd Stephen Smith Jr., Dec 19, 2008
  2. Johannes SchindelinDec 19, 2008
  3. Junio C HamanoDec 19, 2008
  4. Boyd Stephen Smith Jr.Dec 19, 2008
  5. Jay SoffianDec 19, 2008
  6. Boyd Stephen Smith Jr.Dec 19, 2008
  7. Junio C HamanoDec 19, 2008
  8. AlanDec 19, 2008
  9. Boyd Stephen Smith Jr.Dec 19, 2008
  10. Robin RosenbergDec 20, 2008
  11. Boyd Stephen Smith Jr.Dec 20, 2008
  12. Robin RosenbergDec 20, 2008
  13. Junio C HamanoDec 21, 2008
  14. Boyd Stephen Smith Jr.Dec 21, 2008
  15. Robin RosenbergDec 21, 2008
  16. Junio C HamanoDec 21, 2008
  17. Boyd Stephen Smith Jr.Dec 21, 2008
  18. Junio C HamanoDec 21, 2008
  19. Boyd Stephen Smith Jr.Dec 21, 2008
  20. Junio C HamanoDec 21, 2008
  21. Junio C HamanoDec 21, 2008
  22. Robin RosenbergDec 21, 2008
  23. Junio C HamanoDec 21, 2008
  24. Robin RosenbergDec 21, 2008

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.