From 62a40c78fed772e795eca8d4e7d6f6ead4d9a125 Mon Sep 17 00:00:00 2001 From: Michael Halstead Date: Wed, 14 Nov 2012 12:41:01 -0800 Subject: Format git diff headers correctly when adding or removing files. Copying the output of cgit and using it in patches now works when adding files to or removing files from the repository. This is helpful for people who use cgit in their patch workflow. --- ui-patch.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'ui-patch.c') diff --git a/ui-patch.c b/ui-patch.c index ca008f3..79bc509 100644 --- a/ui-patch.c +++ b/ui-patch.c @@ -28,11 +28,6 @@ static void header(unsigned char *sha1, char *path1, int mode1, subproject = (S_ISGITLINK(mode1) || S_ISGITLINK(mode2)); htmlf("diff --git a/%s b/%s\n", path1, path2); - if (is_null_sha1(sha1)) - path1 = "dev/null"; - if (is_null_sha1(sha2)) - path2 = "dev/null"; - if (mode1 == 0) htmlf("new file mode %.6o\n", mode2); @@ -50,8 +45,18 @@ static void header(unsigned char *sha1, char *path1, int mode1, if (mode2 != mode1) htmlf("..%.6o", mode2); } - htmlf("\n--- a/%s\n", path1); - htmlf("+++ b/%s\n", path2); + + if (is_null_sha1(sha1)) { + path1 = "dev/null"; + htmlf("\n--- /%s\n", path1); + } else + htmlf("\n--- a/%s\n", path1); + + if (is_null_sha1(sha2)) { + path2 = "dev/null"; + htmlf("+++ /%s\n", path2); + } else + htmlf("+++ b/%s\n", path2); } } -- cgit v1.2.1