Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreric sciple <ericsciple@users.noreply.github.com>2020-03-19 00:14:00 -0400
committereric sciple <ericsciple@users.noreply.github.com>2020-03-19 00:14:00 -0400
commite753d322ded2ac9d95eddd460bd276c3895eeee8 (patch)
treef691ad1b1e60d3601dc6fe4051aa1c1a7edaedc3
parentc740035296f5e758ddba55b13d486eceab434295 (diff)
.
-rw-r--r--dist/index.js20
-rw-r--r--src/git-directory-helper.ts4
-rw-r--r--src/git-source-provider.ts16
3 files changed, 40 insertions, 0 deletions
diff --git a/dist/index.js b/dist/index.js
index 348e621..2625f81 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -5822,7 +5822,9 @@ function getSource(settings) {
yield io.mkdirP(settings.repositoryPath);
}
// Git command manager
+ core.startGroup('Getting Git version info');
const git = yield getGitCommandManager(settings);
+ core.endGroup();
// Prepare existing directory, otherwise recreate
if (isExisting) {
yield gitDirectoryHelper.prepareExistingDirectory(git, settings.repositoryPath, initialRemoteUrl, [httpsUrl, sshUrl], settings.clean);
@@ -5854,21 +5856,27 @@ function getSource(settings) {
const authHelper = gitAuthHelper.createAuthHelper(git, settings);
try {
// Configure auth
+ core.startGroup('Setting up auth');
yield authHelper.configureAuth();
+ core.endGroup();
// LFS install
if (settings.lfs) {
yield git.lfsInstall();
}
// Fetch
+ core.startGroup('Fetching the repository');
const refSpec = refHelper.getRefSpec(settings.ref, settings.commit);
yield git.fetch(settings.fetchDepth, refSpec);
+ core.endGroup();
// Checkout info
const checkoutInfo = yield refHelper.getCheckoutInfo(git, settings.ref, settings.commit);
// LFS fetch
// Explicit lfs-fetch to avoid slow checkout (fetches one lfs object at a time).
// Explicit lfs fetch will fetch lfs objects in parallel.
if (settings.lfs) {
+ core.startGroup('Fetching LFS objects');
yield git.lfsFetch(checkoutInfo.startPoint || checkoutInfo.ref);
+ core.endGroup();
}
// Fix URL when using SSH
if (settings.sshKey && initialRemoteUrl !== sshUrl) {
@@ -5880,14 +5888,20 @@ function getSource(settings) {
if (settings.submodules) {
try {
// Temporarily override global config
+ core.startGroup('Setting up auth for fetching submodules');
yield authHelper.configureGlobalAuth();
+ core.endGroup();
// Checkout submodules
+ core.startGroup('Fetching submodules');
yield git.submoduleSync(settings.nestedSubmodules);
yield git.submoduleUpdate(settings.fetchDepth, settings.nestedSubmodules);
yield git.submoduleForeach('git config --local gc.auto 0', settings.nestedSubmodules);
+ core.endGroup();
// Persist credentials
if (settings.persistCredentials) {
+ core.startGroup('Persisting credentials for submodules');
yield authHelper.configureSubmoduleAuth();
+ core.endGroup();
}
}
finally {
@@ -5901,7 +5915,9 @@ function getSource(settings) {
finally {
// Remove auth
if (!settings.persistCredentials) {
+ core.startGroup('Removing auth');
yield authHelper.removeAuth();
+ core.endGroup();
}
}
});
@@ -7241,6 +7257,7 @@ function prepareExistingDirectory(git, repositoryPath, preferredRemoteUrl, allow
}
}
try {
+ core.startGroup('Removing previously created refs, to avoid conflicts');
// Checkout detached HEAD
if (!(yield git.isDetached())) {
yield git.checkoutDetach();
@@ -7255,8 +7272,10 @@ function prepareExistingDirectory(git, repositoryPath, preferredRemoteUrl, allow
for (const branch of branches) {
yield git.branchDelete(true, branch);
}
+ core.endGroup();
// Clean
if (clean) {
+ core.startGroup('Cleaning the repository');
if (!(yield git.tryClean())) {
core.debug(`The clean command failed. This might be caused by: 1) path too long, 2) permission issue, or 3) file in use. For futher investigation, manually run 'git clean -ffdx' on the directory '${repositoryPath}'.`);
remove = true;
@@ -7264,6 +7283,7 @@ function prepareExistingDirectory(git, repositoryPath, preferredRemoteUrl, allow
else if (!(yield git.tryReset())) {
remove = true;
}
+ core.endGroup();
if (remove) {
core.warning(`Unable to clean or reset the repository. The repository will be recreated instead.`);
}
diff --git a/src/git-directory-helper.ts b/src/git-directory-helper.ts
index 37f06e1..f449e5c 100644
--- a/src/git-directory-helper.ts
+++ b/src/git-directory-helper.ts
@@ -53,6 +53,7 @@ export async function prepareExistingDirectory(
}
try {
+ core.startGroup('Removing previously created refs, to avoid conflicts')
// Checkout detached HEAD
if (!(await git.isDetached())) {
await git.checkoutDetach()
@@ -69,9 +70,11 @@ export async function prepareExistingDirectory(
for (const branch of branches) {
await git.branchDelete(true, branch)
}
+ core.endGroup()
// Clean
if (clean) {
+ core.startGroup('Cleaning the repository')
if (!(await git.tryClean())) {
core.debug(
`The clean command failed. This might be caused by: 1) path too long, 2) permission issue, or 3) file in use. For futher investigation, manually run 'git clean -ffdx' on the directory '${repositoryPath}'.`
@@ -80,6 +83,7 @@ export async function prepareExistingDirectory(
} else if (!(await git.tryReset())) {
remove = true
}
+ core.endGroup()
if (remove) {
core.warning(
diff --git a/src/git-source-provider.ts b/src/git-source-provider.ts
index 9495ece..8c2a75c 100644
--- a/src/git-source-provider.ts
+++ b/src/git-source-provider.ts
@@ -43,7 +43,9 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
}
// Git command manager
+ core.startGroup('Getting Git version info')
const git = await getGitCommandManager(settings)
+ core.endGroup()
// Prepare existing directory, otherwise recreate
if (isExisting) {
@@ -104,7 +106,9 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
const authHelper = gitAuthHelper.createAuthHelper(git, settings)
try {
// Configure auth
+ core.startGroup('Setting up auth')
await authHelper.configureAuth()
+ core.endGroup()
// LFS install
if (settings.lfs) {
@@ -112,8 +116,10 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
}
// Fetch
+ core.startGroup('Fetching the repository')
const refSpec = refHelper.getRefSpec(settings.ref, settings.commit)
await git.fetch(settings.fetchDepth, refSpec)
+ core.endGroup()
// Checkout info
const checkoutInfo = await refHelper.getCheckoutInfo(
@@ -126,7 +132,9 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
// Explicit lfs-fetch to avoid slow checkout (fetches one lfs object at a time).
// Explicit lfs fetch will fetch lfs objects in parallel.
if (settings.lfs) {
+ core.startGroup('Fetching LFS objects')
await git.lfsFetch(checkoutInfo.startPoint || checkoutInfo.ref)
+ core.endGroup()
}
// Fix URL when using SSH
@@ -141,9 +149,12 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
if (settings.submodules) {
try {
// Temporarily override global config
+ core.startGroup('Setting up auth for fetching submodules')
await authHelper.configureGlobalAuth()
+ core.endGroup()
// Checkout submodules
+ core.startGroup('Fetching submodules')
await git.submoduleSync(settings.nestedSubmodules)
await git.submoduleUpdate(
settings.fetchDepth,
@@ -153,10 +164,13 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
'git config --local gc.auto 0',
settings.nestedSubmodules
)
+ core.endGroup()
// Persist credentials
if (settings.persistCredentials) {
+ core.startGroup('Persisting credentials for submodules')
await authHelper.configureSubmoduleAuth()
+ core.endGroup()
}
} finally {
// Remove temporary global config override
@@ -169,7 +183,9 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
} finally {
// Remove auth
if (!settings.persistCredentials) {
+ core.startGroup('Removing auth')
await authHelper.removeAuth()
+ core.endGroup()
}
}
}