all repos — cgit @ 62a40c78fed772e795eca8d4e7d6f6ead4d9a125

a hyperfast web frontend for git written in c

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
commit

62a40c78fed772e795eca8d4e7d6f6ead4d9a125

parent

633a66c8226286d4559e72f0dce23586d617faff

2 files changed, 22 insertions(+), 14 deletions(-)

jump to
M ui-diff.cui-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.cui-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); } }