mirror of
https://git.zx2c4.com/cgit
synced 2024-11-22 16:38:42 +00:00
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:
parent
633a66c822
commit
62a40c78fe
17
ui-diff.c
17
ui-diff.c
@ -229,11 +229,6 @@ static void header(unsigned char *sha1, char *path1, int mode1,
|
|||||||
html(" b/");
|
html(" b/");
|
||||||
html_txt(path2);
|
html_txt(path2);
|
||||||
|
|
||||||
if (is_null_sha1(sha1))
|
|
||||||
path1 = "dev/null";
|
|
||||||
if (is_null_sha1(sha2))
|
|
||||||
path2 = "dev/null";
|
|
||||||
|
|
||||||
if (mode1 == 0)
|
if (mode1 == 0)
|
||||||
htmlf("<br/>new file mode %.6o", mode2);
|
htmlf("<br/>new file mode %.6o", mode2);
|
||||||
|
|
||||||
@ -251,13 +246,21 @@ static void header(unsigned char *sha1, char *path1, int mode1,
|
|||||||
if (mode2 != mode1)
|
if (mode2 != mode1)
|
||||||
htmlf("..%.6o", mode2);
|
htmlf("..%.6o", mode2);
|
||||||
}
|
}
|
||||||
html("<br/>--- a/");
|
if (is_null_sha1(sha1)) {
|
||||||
|
path1 = "dev/null";
|
||||||
|
html("<br/>--- /");
|
||||||
|
} else
|
||||||
|
html("<br/>--- a/");
|
||||||
if (mode1 != 0)
|
if (mode1 != 0)
|
||||||
cgit_tree_link(path1, NULL, NULL, ctx.qry.head,
|
cgit_tree_link(path1, NULL, NULL, ctx.qry.head,
|
||||||
sha1_to_hex(old_rev_sha1), path1);
|
sha1_to_hex(old_rev_sha1), path1);
|
||||||
else
|
else
|
||||||
html_txt(path1);
|
html_txt(path1);
|
||||||
html("<br/>+++ b/");
|
if (is_null_sha1(sha2)) {
|
||||||
|
path2 = "dev/null";
|
||||||
|
html("<br/>+++ /");
|
||||||
|
} else
|
||||||
|
html("<br/>+++ b/");
|
||||||
if (mode2 != 0)
|
if (mode2 != 0)
|
||||||
cgit_tree_link(path2, NULL, NULL, ctx.qry.head,
|
cgit_tree_link(path2, NULL, NULL, ctx.qry.head,
|
||||||
sha1_to_hex(new_rev_sha1), path2);
|
sha1_to_hex(new_rev_sha1), path2);
|
||||||
|
19
ui-patch.c
19
ui-patch.c
@ -28,11 +28,6 @@ static void header(unsigned char *sha1, char *path1, int mode1,
|
|||||||
subproject = (S_ISGITLINK(mode1) || S_ISGITLINK(mode2));
|
subproject = (S_ISGITLINK(mode1) || S_ISGITLINK(mode2));
|
||||||
htmlf("diff --git a/%s b/%s\n", path1, path2);
|
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)
|
if (mode1 == 0)
|
||||||
htmlf("new file mode %.6o\n", mode2);
|
htmlf("new file mode %.6o\n", mode2);
|
||||||
|
|
||||||
@ -50,8 +45,18 @@ static void header(unsigned char *sha1, char *path1, int mode1,
|
|||||||
if (mode2 != mode1)
|
if (mode2 != mode1)
|
||||||
htmlf("..%.6o", mode2);
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user