<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin/commit.c, branch v2.32.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.32.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.32.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2021-04-30T04:50:26Z</updated>
<entry>
<title>Merge branch 'ds/sparse-index-protections'</title>
<updated>2021-04-30T04:50:26Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-04-30T04:50:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8e97852919fa422bc5fe57bc7e71826cf2b5224d'/>
<id>urn:sha1:8e97852919fa422bc5fe57bc7e71826cf2b5224d</id>
<content type='text'>
Builds on top of the sparse-index infrastructure to mark operations
that are not ready to mark with the sparse index, causing them to
fall back on fully-populated index that they always have worked with.

* ds/sparse-index-protections: (47 commits)
  name-hash: use expand_to_path()
  sparse-index: expand_to_path()
  name-hash: don't add directories to name_hash
  revision: ensure full index
  resolve-undo: ensure full index
  read-cache: ensure full index
  pathspec: ensure full index
  merge-recursive: ensure full index
  entry: ensure full index
  dir: ensure full index
  update-index: ensure full index
  stash: ensure full index
  rm: ensure full index
  merge-index: ensure full index
  ls-files: ensure full index
  grep: ensure full index
  fsck: ensure full index
  difftool: ensure full index
  commit: ensure full index
  checkout: ensure full index
  ...
</content>
</entry>
<entry>
<title>commit: ensure full index</title>
<updated>2021-04-14T20:47:06Z</updated>
<author>
<name>Derrick Stolee</name>
<email>dstolee@microsoft.com</email>
</author>
<published>2021-04-01T01:49:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cb8388df5b3252802a0149ca558f99307e42074c'/>
<id>urn:sha1:cb8388df5b3252802a0149ca558f99307e42074c</id>
<content type='text'>
These two loops iterate over all cache entries, so ensure that a sparse
index is expanded to a full index before we do so.

Signed-off-by: Derrick Stolee &lt;dstolee@microsoft.com&gt;
Reviewed-by: Elijah Newren &lt;newren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'zh/commit-trailer'</title>
<updated>2021-04-07T23:54:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-04-07T23:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=68e15e0c231bfa50e254fc87d054649161a7e301'/>
<id>urn:sha1:68e15e0c231bfa50e254fc87d054649161a7e301</id>
<content type='text'>
"git commit" learned "--trailer &lt;key&gt;[=&lt;value&gt;]" option; together
with the interpret-trailers command, this will make it easier to
support custom trailers.

* zh/commit-trailer:
  commit: add --trailer option
</content>
</entry>
<entry>
<title>Merge branch 'cm/rebase-i-fixup-amend-reword'</title>
<updated>2021-03-26T21:59:03Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-03-26T21:59:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=89519f662c9e2b1c406fa72ba7923fcf5c028e89'/>
<id>urn:sha1:89519f662c9e2b1c406fa72ba7923fcf5c028e89</id>
<content type='text'>
"git commit --fixup=&lt;commit&gt;", which was to tweak the changes made
to the contents while keeping the original log message intact,
learned "--fixup=(amend|reword):&lt;commit&gt;", that can be used to
tweak both the message and the contents, and only the message,
respectively.

* cm/rebase-i-fixup-amend-reword:
  doc/git-commit: add documentation for fixup=[amend|reword] options
  t3437: use --fixup with options to create amend! commit
  t7500: add tests for --fixup=[amend|reword] options
  commit: add a reword suboption to --fixup
  commit: add amend suboption to --fixup to create amend! commit
  sequencer: export and rename subject_length()
</content>
</entry>
<entry>
<title>commit: add --trailer option</title>
<updated>2021-03-23T17:31:38Z</updated>
<author>
<name>ZheNing Hu</name>
<email>adlternative@gmail.com</email>
</author>
<published>2021-03-23T13:55:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2daae3d1d1bf513f1e1c00f1e4df75e1cb500e0f'/>
<id>urn:sha1:2daae3d1d1bf513f1e1c00f1e4df75e1cb500e0f</id>
<content type='text'>
Historically, Git has supported the 'Signed-off-by' commit trailer
using the '--signoff' and the '-s' option from the command line.
But users may need to provide other trailer information from the
command line such as "Helped-by", "Reported-by", "Mentored-by",

Now implement a new `--trailer &lt;token&gt;[(=|:)&lt;value&gt;]` option to pass
other trailers to `interpret-trailers` and insert them into commit
messages.

Signed-off-by: ZheNing Hu &lt;adlternative@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>commit: add a reword suboption to --fixup</title>
<updated>2021-03-15T21:29:35Z</updated>
<author>
<name>Charvi Mendiratta</name>
<email>charvi077@gmail.com</email>
</author>
<published>2021-03-15T07:54:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3270ae82acdec3d25491427e0ecff43c014ac4d9'/>
<id>urn:sha1:3270ae82acdec3d25491427e0ecff43c014ac4d9</id>
<content type='text'>
`git commit --fixup=reword:&lt;commit&gt;` aliases
`--fixup=amend:&lt;commit&gt; --only`, where it creates an empty "amend!"
commit that will reword &lt;commit&gt; without changing its contents when
it is rebased with `--autosquash`.

Mentored-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Mentored-by: Phillip Wood &lt;phillip.wood@dunelm.org.uk&gt;
Helped-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Helped-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Signed-off-by: Charvi Mendiratta &lt;charvi077@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>commit: add amend suboption to --fixup to create amend! commit</title>
<updated>2021-03-15T21:29:35Z</updated>
<author>
<name>Charvi Mendiratta</name>
<email>charvi077@gmail.com</email>
</author>
<published>2021-03-15T07:54:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=494d314a0526a8bee9f8af7a6e6b74b66043c9fa'/>
<id>urn:sha1:494d314a0526a8bee9f8af7a6e6b74b66043c9fa</id>
<content type='text'>
`git commit --fixup=amend:&lt;commit&gt;` will create an "amend!" commit.
The resulting commit message subject will be "amend! ..." where
"..." is the subject line of &lt;commit&gt; and the initial message
body will be &lt;commit&gt;'s message.

The "amend!" commit when rebased with --autosquash will fixup the
contents and replace the commit message of &lt;commit&gt; with the
"amend!" commit's message body.

In order to prevent rebase from creating commits with an empty
message we refuse to create an "amend!" commit if commit message
body is empty.

Mentored-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Mentored-by: Phillip Wood &lt;phillip.wood@dunelm.org.uk&gt;
Helped-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Helped-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Signed-off-by: Charvi Mendiratta &lt;charvi077@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>shortlog: remove unused(?) "repo-abbrev" feature</title>
<updated>2021-01-12T22:04:42Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2021-01-12T20:18:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4e168333a8716d902aed10c74ae5e408e683f902'/>
<id>urn:sha1:4e168333a8716d902aed10c74ae5e408e683f902</id>
<content type='text'>
Remove support for the magical "repo-abbrev" comment in .mailmap
files. This was added to .mailmap parsing in [1], as a generalized
feature of the git-shortlog Perl script added earlier in [2].

There was no documentation or tests for this feature, and I don't
think it's used in practice anymore.

What it did was to allow you to specify a single string to be
search-replaced with "/.../" in the .mailmap file. E.g. for
linux.git's current .mailmap:

    git archive --remote=git@gitlab.com:linux-kernel/linux.git \
        HEAD -- .mailmap | grep -a repo-abbrev
    # repo-abbrev: /pub/scm/linux/kernel/git/

Then when running e.g.:

    git shortlog --merges --author=Linus -1 v5.10-rc7..v5.10 | grep Merge

We'd emit (the [...] is mine):

      Merge tag [...]git://git.kernel.org/.../tip/tip

But will now emit:

      Merge tag [...]git.kernel.org/pub/scm/linux/kernel/git/tip/tip

I think at this point this is just a historical artifact we can get
rid of. It was initially meant for Linus's own use when we integrated
the Perl script[2], but since then it seems he's stopped using it.

Digging through Linus's release announcements on the LKML[3] the last
release I can find that made use of this output is Linux 2.6.25-rc6
back in March 2008[4]. Later on Linus started using --no-merges[5],
and nowadays seems to prefer some custom not-quite-shortlog format of
merges from lieutenants[6].

You will still see it on linux.git if you run "git shortlog" manually
yourself with --merges, with this removed you can still get the same
output with:

    git log --pretty=fuller v5.10-rc7..v5.10 |
    sed 's!/pub/scm/linux/kernel/git/!/.../!g' |
    git shortlog

Arguably we should do the same for the search-replacing of "[PATCH]"
at the beginning with "". That seems to be another relic of a bygone
era when linux.git patches would have their E-Mail subject lines
applied as-is by "git am" or whatever. But we documented that feature
in "git-shortlog(1)", and it seems more widely applicable than
something purely kernel-specific.

1. 7595e2ee6ef (git-shortlog: make common repository prefix
   configurable with .mailmap, 2006-11-25)
2. fa375c7f1b6 (Add git-shortlog perl script, 2005-06-04)
3. https://lore.kernel.org/lkml/
4. https://lore.kernel.org/lkml/alpine.LFD.1.00.0803161651350.3020@woody.linux-foundation.org/
5. https://lore.kernel.org/lkml/BANLkTinrbh7Xi27an3uY7pDWrNKhJRYmEA@mail.gmail.com/
6. https://lore.kernel.org/lkml/CAHk-=wg1+kf1AVzXA-RQX0zjM6t9J2Kay9xyuNqcFHWV-y5ZYw@mail.gmail.com/

Acked-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
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>drop unused argc parameters</title>
<updated>2020-09-30T19:53:47Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2020-09-30T12:28:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e885a84f1bc660adfc1dea5f6c25d0a92c7c9dbc'/>
<id>urn:sha1:e885a84f1bc660adfc1dea5f6c25d0a92c7c9dbc</id>
<content type='text'>
Many functions take an argv/argc pair, but never actually look at argc.
This makes it useless at best (we use the NULL sentinel in argv to find
the end of the array), and misleading at worst (what happens if the argc
count does not match the argv NULL?).

In each of these instances, the argv NULL does match the argc count, so
there are no bugs here. But let's tighten the interfaces to make it
harder to get wrong (and to reduce some -Wunused-parameter complaints).

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
