<feed xmlns='http://www.w3.org/2005/Atom'>
<title>janschoenfeld/checkout.git/src/git-source-provider.ts, branch jww3-patch-1</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>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>Add support for partial checkout filters (#1396)</title>
<updated>2023-09-22T17:30:36+00:00</updated>
<author>
<name>Finley Garton</name>
<email>35561611+finleygn@users.noreply.github.com</email>
</author>
<published>2023-09-22T17:30:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=1963f77c07df3ab7f9fd71f348c9f4c1b94d1416'/>
<id>1963f77c07df3ab7f9fd71f348c9f4c1b94d1416</id>
<content type='text'>
* added filter option &amp; tests

* added build file

* fix test oversight

* added exit 1

* updated docs to specify override

* undo unneeded readme change

* set to undefined rather than empty string

* run git config in correct di

---------

Co-authored-by: Cory Miller &lt;13227161+cory-miller@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* added filter option &amp; tests

* added build file

* fix test oversight

* added exit 1

* updated docs to specify override

* undo unneeded readme change

* set to undefined rather than empty string

* run git config in correct di

---------

Co-authored-by: Cory Miller &lt;13227161+cory-miller@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>
<entry>
<title>Add option to fetch tags even if fetch-depth &gt; 0 (#579)</title>
<updated>2023-08-16T20:34:54+00:00</updated>
<author>
<name>Robert Wieczoreck</name>
<email>1175008+RobertWieczoreck@users.noreply.github.com</email>
</author>
<published>2023-08-16T20:34:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=656b4ef8263848a38ec468288a4192bae917f502'/>
<id>656b4ef8263848a38ec468288a4192bae917f502</id>
<content type='text'>
* Add option to fetch tags even if fetch-depth &gt; 0

* Add jest tests for fetchDepth and fetchTags options</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add option to fetch tags even if fetch-depth &gt; 0

* Add jest tests for fetchDepth and fetchTags options</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for sparse checkouts (#1369)</title>
<updated>2023-06-09T13:08:21+00:00</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2023-06-09T13:08:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=2fabc1d1beb26cbeba1b7c886ef9f3732dd7e821'/>
<id>2fabc1d1beb26cbeba1b7c886ef9f3732dd7e821</id>
<content type='text'>
* Add support for sparse checkouts

* sparse-checkout: optionally turn off cone mode

While it _is_ true that cone mode is the default nowadays (mainly for
performance reasons: code mode is much faster than non-cone mode), there
_are_ legitimate use cases where non-cone mode is really useful.

Let's add a flag to optionally disable cone mode.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;

* Verify minimum Git version for sparse checkout

The `git sparse-checkout` command is available only since Git version
v2.25.0. The `actions/checkout` Action actually supports older Git
versions than that; As of time of writing, the minimum version is
v2.18.0.

Instead of raising this minimum version even for users who do not
require a sparse checkout, only check for this minimum version
specifically when a sparse checkout was asked for.

Suggested-by: Tingluo Huang &lt;tingluohuang@github.com&gt;
Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;

* Support sparse checkout/LFS better

Instead of fetching all the LFS objects present in the current revision
in a sparse checkout, whether they are needed inside the sparse cone or
not, let's instead only pull the ones that are actually needed.

To do that, let's avoid running that preemptive `git lfs fetch` call in
case of a sparse checkout.

An alternative that was considered during the development of this patch
(and ultimately rejected) was to use `git lfs pull --include &lt;path&gt;...`,
but it turned out to be too inflexible because it requires exact paths,
not the patterns that are available via the sparse checkout definition,
and that risks running into command-line length limitations.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;

---------

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Co-authored-by: Daniel &lt;daniel.fernandez@feverup.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add support for sparse checkouts

* sparse-checkout: optionally turn off cone mode

While it _is_ true that cone mode is the default nowadays (mainly for
performance reasons: code mode is much faster than non-cone mode), there
_are_ legitimate use cases where non-cone mode is really useful.

Let's add a flag to optionally disable cone mode.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;

* Verify minimum Git version for sparse checkout

The `git sparse-checkout` command is available only since Git version
v2.25.0. The `actions/checkout` Action actually supports older Git
versions than that; As of time of writing, the minimum version is
v2.18.0.

Instead of raising this minimum version even for users who do not
require a sparse checkout, only check for this minimum version
specifically when a sparse checkout was asked for.

Suggested-by: Tingluo Huang &lt;tingluohuang@github.com&gt;
Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;

* Support sparse checkout/LFS better

Instead of fetching all the LFS objects present in the current revision
in a sparse checkout, whether they are needed inside the sparse cone or
not, let's instead only pull the ones that are actually needed.

To do that, let's avoid running that preemptive `git lfs fetch` call in
case of a sparse checkout.

An alternative that was considered during the development of this patch
(and ultimately rejected) was to use `git lfs pull --include &lt;path&gt;...`,
but it turned out to be too inflexible because it requires exact paths,
not the patterns that are available via the sparse checkout definition,
and that risks running into command-line length limitations.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;

---------

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Co-authored-by: Daniel &lt;daniel.fernandez@feverup.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Inject GitHub host to be able to clone from another GitHub instance (#922)</title>
<updated>2022-09-26T16:34:52+00:00</updated>
<author>
<name>Peter Murray</name>
<email>681306+peter-murray@users.noreply.github.com</email>
</author>
<published>2022-09-26T16:34:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=e33cfa574212e8722034156757f8383979e76cb9'/>
<id>e33cfa574212e8722034156757f8383979e76cb9</id>
<content type='text'>
* Adding the ability to specify the GitHub Server URL and allowing for it to differ from the Actions workflow host

* Adding tests for injecting the GitHub URL

* Addressing code review comments for PR #922</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Adding the ability to specify the GitHub Server URL and allowing for it to differ from the Actions workflow host

* Adding tests for injecting the GitHub URL

* Addressing code review comments for PR #922</pre>
</div>
</content>
</entry>
<entry>
<title>Add set-safe-directory input to allow customers to take control. (#770)</title>
<updated>2022-04-21T01:37:43+00:00</updated>
<author>
<name>Tingluo Huang</name>
<email>tingluohuang@github.com</email>
</author>
<published>2022-04-21T01:37:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=5b226525b332718d26fabcfbd1830cdc32336398'/>
<id>5b226525b332718d26fabcfbd1830cdc32336398</id>
<content type='text'>
* Add set-safe-directory input to allow customers to take control.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add set-safe-directory input to allow customers to take control.</pre>
</div>
</content>
</entry>
<entry>
<title>Enforce safe directory (#762)</title>
<updated>2022-04-14T18:13:20+00:00</updated>
<author>
<name>Thomas Boop</name>
<email>52323235+thboop@users.noreply.github.com</email>
</author>
<published>2022-04-14T18:13:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=84aef4aeee750b818c5298364848f4ba472c6f41'/>
<id>84aef4aeee750b818c5298364848f4ba472c6f41</id>
<content type='text'>
* set safe directory when running checkout

* Update CHANGELOG.md</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* set safe directory when running checkout

* Update CHANGELOG.md</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unneeded commit information from build logs (#345)</title>
<updated>2020-09-23T13:41:47+00:00</updated>
<author>
<name>Thomas Boop</name>
<email>52323235+thboop@users.noreply.github.com</email>
</author>
<published>2020-09-23T13:41:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dieschoenewolke.de/janschoenfeld/checkout.git/commit/?id=6943eced8faa00b363a577a3e573551e2255efac'/>
<id>6943eced8faa00b363a577a3e573551e2255efac</id>
<content type='text'>
* Remove unneeded commit information from stdout
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove unneeded commit information from stdout
</pre>
</div>
</content>
</entry>
</feed>
