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.
This commit is contained in:
Michael Halstead 2012-11-14 12:41:01 -08:00 committed by Jason A. Donenfeld
부모 633a66c822
커밋 62a40c78fe
2개의 변경된 파일22개의 추가작업 그리고 14개의 파일을 삭제

파일 보기

@ -229,11 +229,6 @@ static void header(unsigned char *sha1, char *path1, int mode1,
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 @@ static void header(unsigned char *sha1, char *path1, int 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);

파일 보기

@ -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);
}
}