|
@@ -1244,8 +1244,12 @@ function getSource(settings) {
|
|
// Fetch
|
|
// Fetch
|
|
core.startGroup('Fetching the repository');
|
|
core.startGroup('Fetching the repository');
|
|
const fetchOptions = {};
|
|
const fetchOptions = {};
|
|
- if (settings.sparseCheckout)
|
|
|
|
|
|
+ if (settings.filter) {
|
|
|
|
+ fetchOptions.filter = settings.filter;
|
|
|
|
+ }
|
|
|
|
+ else if (settings.sparseCheckout) {
|
|
fetchOptions.filter = 'blob:none';
|
|
fetchOptions.filter = 'blob:none';
|
|
|
|
+ }
|
|
if (settings.fetchDepth <= 0) {
|
|
if (settings.fetchDepth <= 0) {
|
|
// Fetch all branches and tags
|
|
// Fetch all branches and tags
|
|
let refSpec = refHelper.getRefSpecForAllHistory(settings.ref, settings.commit);
|
|
let refSpec = refHelper.getRefSpecForAllHistory(settings.ref, settings.commit);
|
|
@@ -1723,6 +1727,12 @@ function getInputs() {
|
|
// Clean
|
|
// Clean
|
|
result.clean = (core.getInput('clean') || 'true').toUpperCase() === 'TRUE';
|
|
result.clean = (core.getInput('clean') || 'true').toUpperCase() === 'TRUE';
|
|
core.debug(`clean = ${result.clean}`);
|
|
core.debug(`clean = ${result.clean}`);
|
|
|
|
+ // Filter
|
|
|
|
+ const filter = core.getInput('filter');
|
|
|
|
+ if (filter) {
|
|
|
|
+ result.filter = filter;
|
|
|
|
+ }
|
|
|
|
+ core.debug(`filter = ${result.filter}`);
|
|
// Sparse checkout
|
|
// Sparse checkout
|
|
const sparseCheckout = core.getMultilineInput('sparse-checkout');
|
|
const sparseCheckout = core.getMultilineInput('sparse-checkout');
|
|
if (sparseCheckout.length) {
|
|
if (sparseCheckout.length) {
|