<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/command-list.txt, branch v2.50.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.50.0</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.50.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2025-03-03T16:17:47Z</updated>
<entry>
<title>builtin: introduce diff-pairs command</title>
<updated>2025-03-03T16:17:47Z</updated>
<author>
<name>Justin Tobler</name>
<email>jltobler@gmail.com</email>
</author>
<published>2025-02-28T21:33:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5bd10b2adcf3a080169574dd08c5529de81eecb1'/>
<id>urn:sha1:5bd10b2adcf3a080169574dd08c5529de81eecb1</id>
<content type='text'>
Through git-diff(1), a single diff can be generated from a pair of blob
revisions directly. Unfortunately, there is not a mechanism to compute
batches of specific file pair diffs in a single process. Such a feature
is particularly useful on the server-side where diffing between a large
set of changes is not feasible all at once due to timeout concerns.

To facilitate this, introduce git-diff-pairs(1) which acts as a backend
passing its NUL-terminated raw diff format input from stdin through diff
machinery to produce various forms of output such as patch or raw.

The raw format was originally designed as an interchange format and
represents the contents of the diff_queued_diff list making it possible
to break the diff pipeline into separate stages. For example,
git-diff-tree(1) can be used as a frontend to compute file pairs to
queue and feed its raw output to git-diff-pairs(1) to compute patches.
With this, batches of diffs can be progressively generated without
having to recompute renames or retrieve object context. Something like
the following:

	git diff-tree -r -z -M $old $new |
	git diff-pairs -p -z

should generate the same output as `git diff-tree -p -M`. Furthermore,
each line of raw diff formatted input can also be individually fed to a
separate git-diff-pairs(1) process and still produce the same output.

Based-on-patch-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Justin Tobler &lt;jltobler@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>backfill: add builtin boilerplate</title>
<updated>2025-02-04T00:12:41Z</updated>
<author>
<name>Derrick Stolee</name>
<email>derrickstolee@github.com</email>
</author>
<published>2025-02-03T17:11:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a3f79e9abdbdb27308ac7e3d9e362bcc361cecdc'/>
<id>urn:sha1:a3f79e9abdbdb27308ac7e3d9e362bcc361cecdc</id>
<content type='text'>
In anticipation of implementing 'git backfill', populate the necessary files
with the boilerplate of a new builtin. Mark the builtin as experimental at
this time, allowing breaking changes in the near future, if necessary.

Signed-off-by: Derrick Stolee &lt;stolee@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>builtin/refs: new command to migrate ref storage formats</title>
<updated>2024-06-06T16:04:34Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-06-06T05:29:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=25a0023f28600102f54e7529c20da5928c3e9c75'/>
<id>urn:sha1:25a0023f28600102f54e7529c20da5928c3e9c75</id>
<content type='text'>
Introduce a new command that allows the user to migrate a repository
between ref storage formats. This new command is implemented as part of
a new git-refs(1) executable. This is due to two reasons:

  - There is no good place to put the migration logic in existing
    commands. git-maintenance(1) felt unwieldy, and git-pack-refs(1) is
    not the correct place to put it, either.

  - I had it in my mind to create a new low-level command for accessing
    refs for quite a while already. git-refs(1) is that command and can
    over time grow more functionality relating to refs. This should help
    discoverability by consolidating low-level access to refs into a
    single executable.

As mentioned in the preceding commit that introduces the ref storage
format migration logic, the new `git refs migrate` command still has a
bunch of restrictions. These restrictions are documented accordingly.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>replay: introduce new builtin</title>
<updated>2023-11-26T01:10:48Z</updated>
<author>
<name>Elijah Newren</name>
<email>newren@gmail.com</email>
</author>
<published>2023-11-24T11:10:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f920b0289ba3971451a1cd478baa1d4fddbb0a0b'/>
<id>urn:sha1:f920b0289ba3971451a1cd478baa1d4fddbb0a0b</id>
<content type='text'>
For now, this is just a rename from `t/helper/test-fast-rebase.c` into
`builtin/replay.c` with minimal changes to make it build appropriately.

Let's add a stub documentation and a stub test script though.

Subsequent commits will flesh out the capabilities of the new command
and make it a more standard regular builtin.

Helped-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Co-authored-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Signed-off-by: Elijah Newren &lt;newren@gmail.com&gt;
Signed-off-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>version: fix builtin linking &amp; documentation</title>
<updated>2022-09-20T00:28:25Z</updated>
<author>
<name>Victoria Dye</name>
<email>vdye@github.com</email>
</author>
<published>2022-09-20T00:19:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9b1dc1c9d879368b6cfccb183f5fc19facb1d9df'/>
<id>urn:sha1:9b1dc1c9d879368b6cfccb183f5fc19facb1d9df</id>
<content type='text'>
Like most builtins, 'version' is documented in a corresponding
'Documentation/git-version.txt' and can be invoked with 'git version'.
However, the 'check-docs' Makefile target showed that it was "removed but
documented: git-version." This was cause by the fact that it is not built as
a standalone 'git-version' executable, therefore appearing "removed" to
'check-docs'.

Without a precedent for documented builtins that aren't built into an
executable *or* any clear reason why a standalone 'git-version' shouldn't
exist, the 'check-docs' error appears to correctly identify an issue. To
correct that mismatch, add 'git-version' to the 'BUILT_INS' list in the root
Makefile (indicating that the 'cmd_version()' function appears in a file
that is *not* 'builtin/version.c'). Additionally, to avoid the "no link"
message in 'check-docs', list 'git-version' as an "ancilliaryinterrogator"
(like 'git help') in 'command-list.txt'.

Signed-off-by: Victoria Dye &lt;vdye@github.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diagnose: add to command-list.txt</title>
<updated>2022-09-20T00:27:26Z</updated>
<author>
<name>Victoria Dye</name>
<email>vdye@github.com</email>
</author>
<published>2022-09-20T00:19:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=89c8048855e7193988a7991ad01af0c6d8cf9226'/>
<id>urn:sha1:89c8048855e7193988a7991ad01af0c6d8cf9226</id>
<content type='text'>
Add 'git diagnose' as an "ancilliaryinterrogator" (like 'git bugreport') to
'command-list.txt' in order to have it show up in 'git help -a' and avoid
the "no link" warning message from the 'check-docs' Makefile target.

Signed-off-by: Victoria Dye &lt;vdye@github.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>scalar: add to 'git help -a' command list</title>
<updated>2022-09-02T17:02:56Z</updated>
<author>
<name>Victoria Dye</name>
<email>vdye@github.com</email>
</author>
<published>2022-09-02T15:56:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cc75e556a9de5d62c1ca52db900b729fc830f378'/>
<id>urn:sha1:cc75e556a9de5d62c1ca52db900b729fc830f378</id>
<content type='text'>
Add 'scalar' as a 'mainporcelain' command in the Git command list. Update
the regex in 'cmd-list.perl' used to match the first line of command
documentation to find 'scalar(1)'.

Helped-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Victoria Dye &lt;vdye@github.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>docs: move http-protocol docs to man section 5</title>
<updated>2022-08-04T21:12:24Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2022-08-04T16:28:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1e2320161d27684205f55ffa91f7f481d32863d5'/>
<id>urn:sha1:1e2320161d27684205f55ffa91f7f481d32863d5</id>
<content type='text'>
Continue the move of existing Documentation/technical/* protocol and
file-format documentation into our main documentation space by moving
the http-protocol.txt documentation over. I'm renaming it to
"protocol-http" to be consistent with other things in the new
gitformat-protocol-* namespace.

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>docs: move pack format docs to man section 5</title>
<updated>2022-08-04T21:12:24Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2022-08-04T16:28:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=977c47b46d4d4e5b25afd548c1bd6c108afad632'/>
<id>urn:sha1:977c47b46d4d4e5b25afd548c1bd6c108afad632</id>
<content type='text'>
Continue the move of existing Documentation/technical/* protocol and
file-format documentation into our main documentation space by moving
the various documentation pertaining to the *.pack format and related
files, and updating things that refer to it to link to the new
location.

By moving these we can properly link from the newly created
gitformat-commit-graph to a gitformat-chunk-format page.

Integrating "Documentation/technical/bitmap-format.txt" and
"Documentation/technical/cruft-packs.txt" might logically be part of
this change, but as those cover parts of the wider "pack
format" (including associated files) that's documented outside of
"Documentation/technical/pack-format.txt" let's leave those for now,
subsequent commit(s) will address those.

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>docs: move signature docs to man section 5</title>
<updated>2022-08-04T21:12:24Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2022-08-04T16:28:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=20516890dc86c2949419287d59b4f3df7e7972e0'/>
<id>urn:sha1:20516890dc86c2949419287d59b4f3df7e7972e0</id>
<content type='text'>
Continue the move of existing Documentation/technical/* protocol and
file-format documentation into our main documentation space by moving
the signature format documentation.

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>
</feed>
