<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/git-format-patch.txt, branch v2.30.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.30.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.30.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2020-11-21T23:14:38Z</updated>
<entry>
<title>Merge branch 'jc/format-patch-name-max'</title>
<updated>2020-11-21T23:14:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-11-21T23:14:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=473c6224c6e46b68c4765d56628a85cea0ee9985'/>
<id>urn:sha1:473c6224c6e46b68c4765d56628a85cea0ee9985</id>
<content type='text'>
The maximum length of output filenames "git format-patch" creates
has become configurable (used to be capped at 64).

* jc/format-patch-name-max:
  format-patch: make output filename configurable
</content>
</entry>
<entry>
<title>format-patch: make output filename configurable</title>
<updated>2020-11-10T01:44:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-11-06T21:56:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3baf58bfb4bcfe201970abeffa8e1396d2324250'/>
<id>urn:sha1:3baf58bfb4bcfe201970abeffa8e1396d2324250</id>
<content type='text'>
For the past 15 years, we've used the hardcoded 64 as the length
limit of the filename of the output from the "git format-patch"
command.  Since the value is shorter than the 80-column terminal, it
could grow without line wrapping a bit.  At the same time, since the
value is longer than half of the 80-column terminal, we could fit
two or more of them in "ls" output on such a terminal if we allowed
to lower it.

Introduce a new command line option --filename-max-length=&lt;n&gt; and a
new configuration variable format.filenameMaxLength to override the
hardcoded default.

While we are at it, remove a check that the name of output directory
does not exceed PATH_MAX---this check is pointless in that by the
time control reaches the function, the caller would already have
done an equivalent of "mkdir -p", so if the system does not like an
overly long directory name, the control wouldn't have reached here,
and otherwise, we know that the system allowed the output directory
to exist.  In the worst case, we will get an error when we try to
open the output file and handle the error correctly anyway.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Documentation: stylistically normalize references to Signed-off-by:</title>
<updated>2020-10-20T18:57:40Z</updated>
<author>
<name>Bradley M. Kuhn</name>
<email>bkuhn@sfconservancy.org</email>
</author>
<published>2020-10-20T01:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3abd4a67d912e0c0980aa34def6ea55ebde84947'/>
<id>urn:sha1:3abd4a67d912e0c0980aa34def6ea55ebde84947</id>
<content type='text'>
Ted reported an old typo in the git-commit.txt and merge-options.txt.
Namely, the phrase "Signed-off-by line" was used without either a
definite nor indefinite article.

Upon examination, it seems that the documentation (including items in
Documentation/, but also option help strings) have been quite
inconsistent on usage when referring to `Signed-off-by`.

First, very few places used a definite or indefinite article with the
phrase "Signed-off-by line", but that was the initial typo that led
to this investigation.  So, normalize using either an indefinite or
definite article consistently.

The original phrasing, in Commit 3f971fc425b (Documentation updates,
2005-08-14), is "Add Signed-off-by line".  Commit 6f855371a53 (Add
--signoff, --check, and long option-names. 2005-12-09) switched to
using "Add `Signed-off-by:` line", but didn't normalize the former
commit to match.  Later commits seem to have cut and pasted from one
or the other, which is likely how the usage became so inconsistent.

Junio stated on the git mailing list in
&lt;xmqqy2k1dfoh.fsf@gitster.c.googlers.com&gt; a preference to leave off
the colon.  Thus, prefer `Signed-off-by` (with backticks) for the
documentation files and Signed-off-by (without backticks) for option
help strings.

Additionally, Junio argued that "trailer" is now the standard term to
refer to `Signed-off-by`, saying that "becomes plenty clear that we
are not talking about any random line in the log message".  As such,
prefer "trailer" over "line" anywhere the former word fits.

However, leave alone those few places in documentation that use
Signed-off-by to refer to the process (rather than the specific
trailer), or in places where mail headers are generally discussed in
comparison with Signed-off-by.

Reported-by: "Theodore Y. Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Bradley M. Kuhn &lt;bkuhn@sfconservancy.org&gt;
Acked-by: Taylor Blau &lt;me@ttaylorr.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>format-patch: teach --no-encode-email-headers</title>
<updated>2020-04-08T05:37:18Z</updated>
<author>
<name>Emma Brooks</name>
<email>me@pluvano.com</email>
</author>
<published>2020-04-08T04:31:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=19d097e3d73b4d3635bbe0e8735b2f059d59f29a'/>
<id>urn:sha1:19d097e3d73b4d3635bbe0e8735b2f059d59f29a</id>
<content type='text'>
When commit subjects or authors have non-ASCII characters, git
format-patch Q-encodes them so they can be safely sent over email.
However, if the patch transfer method is something other than email (web
review tools, sneakernet), this only serves to make the patch metadata
harder to read without first applying it (unless you can decode RFC 2047
in your head). git am as well as some email software supports
non-Q-encoded mail as described in RFC 6531.

Add --[no-]encode-email-headers and format.encodeEmailHeaders to let the
user control this behavior.

Signed-off-by: Emma Brooks &lt;me@pluvano.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>format-patch: teach --no-base</title>
<updated>2019-12-05T14:06:18Z</updated>
<author>
<name>Denton Liu</name>
<email>liu.denton@gmail.com</email>
</author>
<published>2019-12-04T21:25:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=945dc55dda595a3e5449017797cb90599ed9ecb5'/>
<id>urn:sha1:945dc55dda595a3e5449017797cb90599ed9ecb5</id>
<content type='text'>
If `format.useAutoBase = true`, there was no way to override this from
the command-line. Teach the `--no-base` option in format-patch to
override `format.useAutoBase`.

Helped-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Denton Liu &lt;liu.denton@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'dl/format-patch-cover-from-desc'</title>
<updated>2019-11-10T09:02:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-11-10T09:02:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b75ba9bbd13877ff3351e150d3d053baec81f0db'/>
<id>urn:sha1:b75ba9bbd13877ff3351e150d3d053baec81f0db</id>
<content type='text'>
The branch description ("git branch --edit-description") has been
used to fill the body of the cover letters by the format-patch
command; this has been enhanced so that the subject can also be
filled.

* dl/format-patch-cover-from-desc:
  format-patch: teach --cover-from-description option
  format-patch: use enum variables
  format-patch: replace erroneous and condition
</content>
</entry>
<entry>
<title>format-patch: teach --cover-from-description option</title>
<updated>2019-10-16T01:26:45Z</updated>
<author>
<name>Denton Liu</name>
<email>liu.denton@gmail.com</email>
</author>
<published>2019-10-15T09:06:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bf8e65b30b77308710f14d523782f99a4a23eb55'/>
<id>urn:sha1:bf8e65b30b77308710f14d523782f99a4a23eb55</id>
<content type='text'>
Before, when format-patch generated a cover letter, only the body would
be populated with a branch's description while the subject would be
populated with placeholder text. However, users may want to have the
subject of their cover letter automatically populated in the same way.

Teach format-patch to accept the `--cover-from-description` option and
corresponding `format.coverFromDescription` config, allowing users to
populate different parts of the cover letter (including the subject
now).

Signed-off-by: Denton Liu &lt;liu.denton@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>format-patch: create leading components of output directory</title>
<updated>2019-10-12T02:51:20Z</updated>
<author>
<name>Bert Wesarg</name>
<email>bert.wesarg@googlemail.com</email>
</author>
<published>2019-10-11T08:36:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=edefc318731f69c3e5354ead9f7505e789562375'/>
<id>urn:sha1:edefc318731f69c3e5354ead9f7505e789562375</id>
<content type='text'>
'git format-patch -o &lt;outdir&gt;' did an equivalent of 'mkdir &lt;outdir&gt;'
not 'mkdir -p &lt;outdir&gt;', which is being corrected.

Avoid the usage of 'adjust_shared_perm' on the leading directories which
may have security implications. Achieved by temporarily disabling of
'config.sharedRepository' like 'git init' does.

Signed-off-by: Bert Wesarg &lt;bert.wesarg@googlemail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Doc: add more detail for git-format-patch</title>
<updated>2019-09-05T19:58:52Z</updated>
<author>
<name>Denton Liu</name>
<email>liu.denton@gmail.com</email>
</author>
<published>2019-08-27T04:05:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c1a6f21cd4c18a8118dd90c858f76e386648310f'/>
<id>urn:sha1:c1a6f21cd4c18a8118dd90c858f76e386648310f</id>
<content type='text'>
In git-format-patch.txt, we were missing some key user information.
First of all, document the special value of `--base=auto`.

Next, while we're at it, surround option arguments with &lt;&gt; and change
existing names such as "Message-Id" to "message id", which conforms with
how existing documentation is written.

Finally, document the `format.outputDirectory` config and change
`format.coverletter` to use camel case.

Signed-off-by: Denton Liu &lt;liu.denton@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nd/switch-and-restore'</title>
<updated>2019-07-09T22:25:44Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-07-09T22:25:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f496b064fc1135e0dded7f93d85d72eb0b302c22'/>
<id>urn:sha1:f496b064fc1135e0dded7f93d85d72eb0b302c22</id>
<content type='text'>
Two new commands "git switch" and "git restore" are introduced to
split "checking out a branch to work on advancing its history" and
"checking out paths out of the index and/or a tree-ish to work on
advancing the current history" out of the single "git checkout"
command.

* nd/switch-and-restore: (46 commits)
  completion: disable dwim on "git switch -d"
  switch: allow to switch in the middle of bisect
  t2027: use test_must_be_empty
  Declare both git-switch and git-restore experimental
  help: move git-diff and git-reset to different groups
  doc: promote "git restore"
  user-manual.txt: prefer 'merge --abort' over 'reset --hard'
  completion: support restore
  t: add tests for restore
  restore: support --patch
  restore: replace --force with --ignore-unmerged
  restore: default to --source=HEAD when only --staged is specified
  restore: reject invalid combinations with --staged
  restore: add --worktree and --staged
  checkout: factor out worktree checkout code
  restore: disable overlay mode by default
  restore: make pathspec mandatory
  restore: take tree-ish from --source option instead
  checkout: split part of it to new command 'restore'
  doc: promote "git switch"
  ...
</content>
</entry>
</feed>
