<feed xmlns='http://www.w3.org/2005/Atom'>
<title>janschoenfeld/checkout.git/src/git-command-manager.ts, branch dependabot/github_actions/actions/setup-node-7</title>
<subtitle>Action for checking out a repo
</subtitle>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/'/>
<entry>
<title>escape values passed to --unset (#2530)</title>
<updated>2026-07-17T17:44:40+00:00</updated>
<author>
<name>Aiqiao Yan</name>
<email>55104035+aiqiaoy@users.noreply.github.com</email>
</author>
<published>2026-07-17T17:44:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=57fadabbbeb3a20058fa65b9a5b2975ba617855d'/>
<id>57fadabbbeb3a20058fa65b9a5b2975ba617855d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>upgrade module to esm and update dependencies (#2463)</title>
<updated>2026-06-16T21:10:58+00:00</updated>
<author>
<name>Aiqiao Yan</name>
<email>55104035+aiqiaoy@users.noreply.github.com</email>
</author>
<published>2026-06-16T21:10:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=c68c2101c254470055e8aa38730553d71a47bc7b'/>
<id>c68c2101c254470055e8aa38730553d71a47bc7b</id>
<content type='text'>
* upgrade module to esm so I can update dependencies

* fix ci failures</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* upgrade module to esm so I can update dependencies

* fix ci failures</pre>
</div>
</content>
</entry>
<entry>
<title>Fix checkout init for SHA-256 repositories (#2439)</title>
<updated>2026-06-01T15:35:58+00:00</updated>
<author>
<name>Yashwanth Anantharaju</name>
<email>yaananth@users.noreply.github.com</email>
</author>
<published>2026-06-01T15:35:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=eb9dcad7e007cb96364b4e612799ce0ff736cb09'/>
<id>eb9dcad7e007cb96364b4e612799ce0ff736cb09</id>
<content type='text'>
* Fix checkout init for SHA-256 repositories

* Remove unused object format result field</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix checkout init for SHA-256 repositories

* Remove unused object format result field</pre>
</div>
</content>
</entry>
<entry>
<title>Fix tag handling: preserve annotations and explicit fetch-tags (#2356)</title>
<updated>2026-01-09T19:42:23+00:00</updated>
<author>
<name>eric sciple</name>
<email>ericsciple@users.noreply.github.com</email>
</author>
<published>2026-01-09T19:42:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=5921bc8a76f21dbff8ef5088dc2dc3b479ab5309'/>
<id>5921bc8a76f21dbff8ef5088dc2dc3b479ab5309</id>
<content type='text'>
This PR fixes several issues with tag handling in the checkout action:

1. fetch-tags: true now works (fixes #1471)
   - Tags refspec is now included in getRefSpec() when fetchTags=true
   - Previously tags were only fetched during a separate fetch that was
     overwritten by the main fetch

2. Tag checkout preserves annotations (fixes #290)
   - Tags are fetched via refspec (+refs/tags/*:refs/tags/*) instead of
     --tags flag
   - This fetches the actual tag objects, preserving annotations

3. Tag checkout with fetch-tags: true no longer fails (fixes #1467)
   - When checking out a tag with fetchTags=true, only the wildcard
     refspec is used (specific tag refspec is redundant)

Changes:
- src/ref-helper.ts: getRefSpec() now accepts fetchTags parameter and
  prepends tags refspec when true
- src/git-command-manager.ts: fetch() simplified to always use --no-tags,
  tags are fetched explicitly via refspec
- src/git-source-provider.ts: passes fetchTags to getRefSpec()
- Added E2E test for fetch-tags option

Related #1471, #1467, #290</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR fixes several issues with tag handling in the checkout action:

1. fetch-tags: true now works (fixes #1471)
   - Tags refspec is now included in getRefSpec() when fetchTags=true
   - Previously tags were only fetched during a separate fetch that was
     overwritten by the main fetch

2. Tag checkout preserves annotations (fixes #290)
   - Tags are fetched via refspec (+refs/tags/*:refs/tags/*) instead of
     --tags flag
   - This fetches the actual tag objects, preserving annotations

3. Tag checkout with fetch-tags: true no longer fails (fixes #1467)
   - When checking out a tag with fetchTags=true, only the wildcard
     refspec is used (specific tag refspec is redundant)

Changes:
- src/ref-helper.ts: getRefSpec() now accepts fetchTags parameter and
  prepends tags refspec when true
- src/git-command-manager.ts: fetch() simplified to always use --no-tags,
  tags are fetched explicitly via refspec
- src/git-source-provider.ts: passes fetchTags to getRefSpec()
- Added E2E test for fetch-tags option

Related #1471, #1467, #290</pre>
</div>
</content>
</entry>
<entry>
<title>Add orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is set (#2355)</title>
<updated>2026-01-08T20:07:38+00:00</updated>
<author>
<name>Copilot</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2026-01-08T20:07:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=72bc64336da5b556e438a70b19caa4f80eebee98'/>
<id>72bc64336da5b556e438a70b19caa4f80eebee98</id>
<content type='text'>
* Initial plan

* Add orchestration ID support to git user-agent

Co-authored-by: TingluoHuang &lt;1750815+TingluoHuang@users.noreply.github.com&gt;

* Apply suggestion from @Copilot

Co-authored-by: Copilot &lt;175728472+Copilot@users.noreply.github.com&gt;

* Improve tests to verify user-agent content and handle empty sanitized IDs

Co-authored-by: TingluoHuang &lt;1750815+TingluoHuang@users.noreply.github.com&gt;

* Simplify orchestration ID validation to accept any non-empty sanitized value

Co-authored-by: TingluoHuang &lt;1750815+TingluoHuang@users.noreply.github.com&gt;

* Remove test for orchestration ID with only invalid characters

Co-authored-by: TingluoHuang &lt;1750815+TingluoHuang@users.noreply.github.com&gt;

---------

Co-authored-by: copilot-swe-agent[bot] &lt;198982749+Copilot@users.noreply.github.com&gt;
Co-authored-by: TingluoHuang &lt;1750815+TingluoHuang@users.noreply.github.com&gt;
Co-authored-by: Tingluo Huang &lt;tingluohuang@github.com&gt;
Co-authored-by: Copilot &lt;175728472+Copilot@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Initial plan

* Add orchestration ID support to git user-agent

Co-authored-by: TingluoHuang &lt;1750815+TingluoHuang@users.noreply.github.com&gt;

* Apply suggestion from @Copilot

Co-authored-by: Copilot &lt;175728472+Copilot@users.noreply.github.com&gt;

* Improve tests to verify user-agent content and handle empty sanitized IDs

Co-authored-by: TingluoHuang &lt;1750815+TingluoHuang@users.noreply.github.com&gt;

* Simplify orchestration ID validation to accept any non-empty sanitized value

Co-authored-by: TingluoHuang &lt;1750815+TingluoHuang@users.noreply.github.com&gt;

* Remove test for orchestration ID with only invalid characters

Co-authored-by: TingluoHuang &lt;1750815+TingluoHuang@users.noreply.github.com&gt;

---------

Co-authored-by: copilot-swe-agent[bot] &lt;198982749+Copilot@users.noreply.github.com&gt;
Co-authored-by: TingluoHuang &lt;1750815+TingluoHuang@users.noreply.github.com&gt;
Co-authored-by: Tingluo Huang &lt;tingluohuang@github.com&gt;
Co-authored-by: Copilot &lt;175728472+Copilot@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Persist creds to a separate file (#2286)</title>
<updated>2025-11-03T19:08:38+00:00</updated>
<author>
<name>eric sciple</name>
<email>ericsciple@users.noreply.github.com</email>
</author>
<published>2025-11-03T19:08:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=ff20ae9cd9d5fc6ce99d108d89ea013d4c12f489'/>
<id>ff20ae9cd9d5fc6ce99d108d89ea013d4c12f489</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable `extensions.worktreeConfig` when disabling `sparse-checkout` (#1692)</title>
<updated>2024-04-23T20:07:43+00:00</updated>
<author>
<name>John Wesley Walker III</name>
<email>81404201+jww3@users.noreply.github.com</email>
</author>
<published>2024-04-23T20:07:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=fc9adadeb71f1b3c8f35fd5658c332d23664d77a'/>
<id>fc9adadeb71f1b3c8f35fd5658c332d23664d77a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Check git version before attempting to disable `sparse-checkout` (#1656)</title>
<updated>2024-03-14T14:40:14+00:00</updated>
<author>
<name>John Wesley Walker III</name>
<email>81404201+jww3@users.noreply.github.com</email>
</author>
<published>2024-03-14T14:40:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=5cbfe54ddccb7aa81f873dab834f0c6d84fe3682'/>
<id>5cbfe54ddccb7aa81f873dab834f0c6d84fe3682</id>
<content type='text'>
* Check git version before attempting to disable `sparse-checkout`
* Bump `MinimumGitSparseCheckoutVersion` to 2.28 due to #1386
* Initial prep for release 4.1.3</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Check git version before attempting to disable `sparse-checkout`
* Bump `MinimumGitSparseCheckoutVersion` to 2.28 due to #1386
* Initial prep for release 4.1.3</pre>
</div>
</content>
</entry>
<entry>
<title>Explicitly disable sparse checkout unless asked for (#1598)</title>
<updated>2024-02-21T12:56:19+00:00</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2024-02-21T12:56:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=b38c5ff64d1494279a7c59e1e4f6fab69f1b32ba'/>
<id>b38c5ff64d1494279a7c59e1e4f6fab69f1b32ba</id>
<content type='text'>
When a worktree is reused by actions/checkout and the first time sparse checkout was enabled, we need to ensure that the second time it is only a sparse checkout if explicitly asked for. Otherwise, we need to disable the sparse checkout so that a full checkout is the outcome of this Action.

## Details
* If no `sparse-checkout` parameter is specified, disable it

This should allow users to reuse existing folders when running
`actions/checkout` where a previous run asked for a sparse checkout but
the current run does not ask for a sparse checkout.

This fixes https://github.com/actions/checkout/issues/1475

There are use cases in particular with non-ephemeral (self-hosted) runners where an
existing worktree (that has been initialized as a sparse checkout) is
reused in subsequent CI runs (where `actions/checkout` is run _without_
any `sparse-checkout` parameter).

In these scenarios, we need to make sure that the sparse checkout is
disabled before checking out the files.

### Also includes:

* npm run build
* ci: verify that an existing sparse checkout can be made unsparse
* Added a clarifying comment about test branches.
* `test-proxy` now uses newly-minted `test-ubuntu-git` container image from ghcr.io

---------

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Co-authored-by: John Wesley Walker III &lt;81404201+jww3@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a worktree is reused by actions/checkout and the first time sparse checkout was enabled, we need to ensure that the second time it is only a sparse checkout if explicitly asked for. Otherwise, we need to disable the sparse checkout so that a full checkout is the outcome of this Action.

## Details
* If no `sparse-checkout` parameter is specified, disable it

This should allow users to reuse existing folders when running
`actions/checkout` where a previous run asked for a sparse checkout but
the current run does not ask for a sparse checkout.

This fixes https://github.com/actions/checkout/issues/1475

There are use cases in particular with non-ephemeral (self-hosted) runners where an
existing worktree (that has been initialized as a sparse checkout) is
reused in subsequent CI runs (where `actions/checkout` is run _without_
any `sparse-checkout` parameter).

In these scenarios, we need to make sure that the sparse checkout is
disabled before checking out the files.

### Also includes:

* npm run build
* ci: verify that an existing sparse checkout can be made unsparse
* Added a clarifying comment about test branches.
* `test-proxy` now uses newly-minted `test-ubuntu-git` container image from ghcr.io

---------

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Co-authored-by: John Wesley Walker III &lt;81404201+jww3@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Support fetching without the --progress option (#1067)</title>
<updated>2023-09-01T18:19:18+00:00</updated>
<author>
<name>Simon Baird</name>
<email>simon.baird@gmail.com</email>
</author>
<published>2023-09-01T18:19:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=8063d6c21727e43c799971dba8b62b4879d5e15a'/>
<id>8063d6c21727e43c799971dba8b62b4879d5e15a</id>
<content type='text'>
Setting the `show-progress` option to false in the `with` section of the
workflow step will cause git fetch to run without `--progress`.

The motivation is to be able to suppress the noisy progress status
output which adds many hundreds of "remote: Counting objects: 85%
(386/453)" and similar lines in the workflow log.

This should be sufficient to resolve #894 and its older friends,
though the solution is different to the one proposed there because
it doesn't use the --quiet flag. IIUC git doesn't show the progress
status by default since the output is not a terminal, so that's why
removing the --progress option is all that's needed.

Adding the --quiet flag doesn't make a lot of difference once the
--progress flag is removed, and actually I think using --quiet would
suppress some other more useful output that would be better left
visible.

Signed-off-by: Simon Baird &lt;sbaird@redhat.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Setting the `show-progress` option to false in the `with` section of the
workflow step will cause git fetch to run without `--progress`.

The motivation is to be able to suppress the noisy progress status
output which adds many hundreds of "remote: Counting objects: 85%
(386/453)" and similar lines in the workflow log.

This should be sufficient to resolve #894 and its older friends,
though the solution is different to the one proposed there because
it doesn't use the --quiet flag. IIUC git doesn't show the progress
status by default since the output is not a terminal, so that's why
removing the --progress option is all that's needed.

Adding the --quiet flag doesn't make a lot of difference once the
--progress flag is removed, and actually I think using --quiet would
suppress some other more useful output that would be better left
visible.

Signed-off-by: Simon Baird &lt;sbaird@redhat.com&gt;</pre>
</div>
</content>
</entry>
</feed>
