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.
Michael Halstead michael@yoctoproject.org
Wed, 14 Nov 2012 12:41:01 -0800
2 files changed,
22 insertions(+),
14 deletions(-)
M
ui-diff.c
→
ui-diff.c
@@ -229,11 +229,6 @@ html_txt(path1);
html(" b/"); html_txt(path2); - if (is_null_sha1(sha1)) - path1 = "dev/null"; - if (is_null_sha1(sha2)) - path2 = "dev/null"; - if (mode1 == 0) htmlf("<br/>new file mode %.6o", mode2);@@ -251,13 +246,21 @@ htmlf(" %.6o", mode1);
if (mode2 != mode1) htmlf("..%.6o", mode2); } - html("<br/>--- a/"); + if (is_null_sha1(sha1)) { + path1 = "dev/null"; + html("<br/>--- /"); + } else + html("<br/>--- a/"); if (mode1 != 0) cgit_tree_link(path1, NULL, NULL, ctx.qry.head, sha1_to_hex(old_rev_sha1), path1); else html_txt(path1); - html("<br/>+++ b/"); + if (is_null_sha1(sha2)) { + path2 = "dev/null"; + html("<br/>+++ /"); + } else + html("<br/>+++ b/"); if (mode2 != 0) cgit_tree_link(path2, NULL, NULL, ctx.qry.head, sha1_to_hex(new_rev_sha1), path2);
M
ui-patch.c
→
ui-patch.c
@@ -28,11 +28,6 @@
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 @@ htmlf(" %.6o", 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); } }