mirror of
https://github.com/git/git
synced 2024-10-02 14:45:21 +00:00
format-patch: add --mboxrd alias for --pretty=mboxrd
mboxrd is a superior output format when used with --stdout and needs more exposure. Including pretty-formats.txt would be excessive, since documenting --pretty= for `git format-patch' would likely be confusing to users. Instead of documenting --pretty, add an --mboxrd alias to save keystrokes and improve documentation. Signed-off-by: Eric Wong <e@80x24.org> Signed-off-by: Taylor Blau <me@ttaylorr.com>
This commit is contained in:
parent
319605f8f0
commit
99d0b829c7
|
@ -9,7 +9,7 @@ git-format-patch - Prepare patches for e-mail submission
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git format-patch' [-k] [(-o|--output-directory) <dir> | --stdout]
|
'git format-patch' [-k] [(-o|--output-directory) <dir> | --stdout] [--mboxrd]
|
||||||
[--no-thread | --thread[=<style>]]
|
[--no-thread | --thread[=<style>]]
|
||||||
[(--attach|--inline)[=<boundary>] | --no-attach]
|
[(--attach|--inline)[=<boundary>] | --no-attach]
|
||||||
[-s | --signoff]
|
[-s | --signoff]
|
||||||
|
@ -145,6 +145,10 @@ include::diff-options.txt[]
|
||||||
Print all commits to the standard output in mbox format,
|
Print all commits to the standard output in mbox format,
|
||||||
instead of creating a file for each one.
|
instead of creating a file for each one.
|
||||||
|
|
||||||
|
--mboxrd::
|
||||||
|
Use the robust "mboxrd" format with `--stdout` to escape
|
||||||
|
"^>+From " lines.
|
||||||
|
|
||||||
--attach[=<boundary>]::
|
--attach[=<boundary>]::
|
||||||
Create multipart/mixed attachment, the first part of
|
Create multipart/mixed attachment, the first part of
|
||||||
which is the commit message and the patch itself in the
|
which is the commit message and the patch itself in the
|
||||||
|
|
|
@ -1872,6 +1872,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
|
||||||
struct strbuf rdiff2 = STRBUF_INIT;
|
struct strbuf rdiff2 = STRBUF_INIT;
|
||||||
struct strbuf rdiff_title = STRBUF_INIT;
|
struct strbuf rdiff_title = STRBUF_INIT;
|
||||||
int creation_factor = -1;
|
int creation_factor = -1;
|
||||||
|
int mboxrd = 0;
|
||||||
|
|
||||||
const struct option builtin_format_patch_options[] = {
|
const struct option builtin_format_patch_options[] = {
|
||||||
OPT_CALLBACK_F('n', "numbered", &numbered, NULL,
|
OPT_CALLBACK_F('n', "numbered", &numbered, NULL,
|
||||||
|
@ -1883,6 +1884,8 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
|
||||||
OPT_BOOL('s', "signoff", &do_signoff, N_("add a Signed-off-by trailer")),
|
OPT_BOOL('s', "signoff", &do_signoff, N_("add a Signed-off-by trailer")),
|
||||||
OPT_BOOL(0, "stdout", &use_stdout,
|
OPT_BOOL(0, "stdout", &use_stdout,
|
||||||
N_("print patches to standard out")),
|
N_("print patches to standard out")),
|
||||||
|
OPT_BOOL(0, "mboxrd", &mboxrd,
|
||||||
|
N_("use the robust mboxrd format with --stdout")),
|
||||||
OPT_BOOL(0, "cover-letter", &cover_letter,
|
OPT_BOOL(0, "cover-letter", &cover_letter,
|
||||||
N_("generate a cover letter")),
|
N_("generate a cover letter")),
|
||||||
OPT_BOOL(0, "numbered-files", &just_numbers,
|
OPT_BOOL(0, "numbered-files", &just_numbers,
|
||||||
|
@ -2106,6 +2109,10 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
|
||||||
rev.diffopt.close_file, "--output",
|
rev.diffopt.close_file, "--output",
|
||||||
!!output_directory, "--output-directory");
|
!!output_directory, "--output-directory");
|
||||||
|
|
||||||
|
/* should we warn on --mboxrd w/o --stdout? */
|
||||||
|
if (mboxrd)
|
||||||
|
rev.commit_format = CMIT_FMT_MBOXRD;
|
||||||
|
|
||||||
if (use_stdout) {
|
if (use_stdout) {
|
||||||
setup_pager();
|
setup_pager();
|
||||||
} else if (!rev.diffopt.close_file) {
|
} else if (!rev.diffopt.close_file) {
|
||||||
|
|
|
@ -1815,7 +1815,7 @@ _git_fetch ()
|
||||||
|
|
||||||
__git_format_patch_extra_options="
|
__git_format_patch_extra_options="
|
||||||
--full-index --not --all --no-prefix --src-prefix=
|
--full-index --not --all --no-prefix --src-prefix=
|
||||||
--dst-prefix= --notes
|
--dst-prefix= --notes --mboxrd
|
||||||
"
|
"
|
||||||
|
|
||||||
_git_format_patch ()
|
_git_format_patch ()
|
||||||
|
|
|
@ -2281,7 +2281,7 @@ test_expect_success 'format-patch --attach cover-letter only is non-multipart' '
|
||||||
test_line_count = 1 output
|
test_line_count = 1 output
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'format-patch --pretty=mboxrd' '
|
test_expect_success 'format-patch --mboxrd' '
|
||||||
sp=" " &&
|
sp=" " &&
|
||||||
cat >msg <<-INPUT_END &&
|
cat >msg <<-INPUT_END &&
|
||||||
mboxrd should escape the body
|
mboxrd should escape the body
|
||||||
|
@ -2316,7 +2316,9 @@ test_expect_success 'format-patch --pretty=mboxrd' '
|
||||||
INPUT_END
|
INPUT_END
|
||||||
|
|
||||||
C=$(git commit-tree HEAD^^{tree} -p HEAD <msg) &&
|
C=$(git commit-tree HEAD^^{tree} -p HEAD <msg) &&
|
||||||
git format-patch --pretty=mboxrd --stdout -1 $C~1..$C >patch &&
|
git format-patch --mboxrd --stdout -1 $C~1..$C >patch &&
|
||||||
|
git format-patch --pretty=mboxrd --stdout -1 $C~1..$C >compat &&
|
||||||
|
test_cmp patch compat &&
|
||||||
git grep -h --no-index -A11 \
|
git grep -h --no-index -A11 \
|
||||||
"^>From could trip up a loose mbox parser" patch >actual &&
|
"^>From could trip up a loose mbox parser" patch >actual &&
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
|
|
|
@ -1033,7 +1033,7 @@ test_expect_success 'am --patch-format=mboxrd handles mboxrd' '
|
||||||
>From extra escape for reversibility
|
>From extra escape for reversibility
|
||||||
INPUT_END
|
INPUT_END
|
||||||
git commit -F msg &&
|
git commit -F msg &&
|
||||||
git format-patch --pretty=mboxrd --stdout -1 >mboxrd1 &&
|
git format-patch --mboxrd --stdout -1 >mboxrd1 &&
|
||||||
grep "^>From could trip up a loose mbox parser" mboxrd1 &&
|
grep "^>From could trip up a loose mbox parser" mboxrd1 &&
|
||||||
git checkout -f first &&
|
git checkout -f first &&
|
||||||
git am --patch-format=mboxrd mboxrd1 &&
|
git am --patch-format=mboxrd mboxrd1 &&
|
||||||
|
|
Loading…
Reference in a new issue