mirror of
https://code.forgejo.org/actions/checkout.git
synced 2025-12-06 03:50:39 +00:00
Merge b952e6d97e into 8e8c483db8
This commit is contained in:
commit
f2b2bb6af1
3 changed files with 27 additions and 4 deletions
19
.github/workflows/test.yml
vendored
19
.github/workflows/test.yml
vendored
|
|
@ -181,6 +181,25 @@ jobs:
|
|||
with:
|
||||
args: bash __test__/verify-worktree.sh worktree-test container-worktree-branch
|
||||
|
||||
# Credentials when checkout out into symlink
|
||||
- name: Setup for symlink test
|
||||
run: mkdir symlink-test-real && ln -s symlink-test-real symlink-test-link
|
||||
- name: Checkout for worktree test
|
||||
uses: ./
|
||||
with:
|
||||
path: symlink-test-link
|
||||
- name: Verify symlink credentials
|
||||
run: |
|
||||
cd symlink-test-real
|
||||
if git config --list --show-origin | grep -q "extraheader"; then
|
||||
echo "Credentials are configured"
|
||||
else
|
||||
echo "ERROR: Credentials are NOT configured"
|
||||
echo "Full git config:"
|
||||
git config --list --show-origin
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Basic checkout using REST API
|
||||
- name: Remove basic
|
||||
if: runner.os != 'windows'
|
||||
|
|
|
|||
4
dist/index.js
vendored
4
dist/index.js
vendored
|
|
@ -267,7 +267,7 @@ class GitAuthHelper {
|
|||
// Configure both host and container paths to support Docker container actions.
|
||||
for (const configPath of configPaths) {
|
||||
// Submodule Git directory
|
||||
let submoduleGitDir = path.dirname(configPath); // The config file is at .git/modules/submodule-name/config
|
||||
let submoduleGitDir = yield fs.promises.realpath(path.dirname(configPath)); // The config file is at .git/modules/submodule-name/config
|
||||
submoduleGitDir = submoduleGitDir.replace(/\\/g, '/'); // Use forward slashes, even on Windows
|
||||
// Configure host includeIf
|
||||
yield this.git.config(`includeIf.gitdir:${submoduleGitDir}.path`, credentialsConfigPath, false, // globalConfig?
|
||||
|
|
@ -407,7 +407,7 @@ class GitAuthHelper {
|
|||
}
|
||||
else {
|
||||
// Host git directory
|
||||
let gitDir = path.join(this.git.getWorkingDirectory(), '.git');
|
||||
let gitDir = yield fs.promises.realpath(path.join(this.git.getWorkingDirectory(), '.git'));
|
||||
gitDir = gitDir.replace(/\\/g, '/'); // Use forward slashes, even on Windows
|
||||
// Configure host includeIf
|
||||
const hostIncludeKey = `includeIf.gitdir:${gitDir}.path`;
|
||||
|
|
|
|||
|
|
@ -177,7 +177,9 @@ class GitAuthHelper {
|
|||
// Configure both host and container paths to support Docker container actions.
|
||||
for (const configPath of configPaths) {
|
||||
// Submodule Git directory
|
||||
let submoduleGitDir = path.dirname(configPath) // The config file is at .git/modules/submodule-name/config
|
||||
let submoduleGitDir = await fs.promises.realpath(
|
||||
path.dirname(configPath)
|
||||
) // The config file is at .git/modules/submodule-name/config
|
||||
submoduleGitDir = submoduleGitDir.replace(/\\/g, '/') // Use forward slashes, even on Windows
|
||||
|
||||
// Configure host includeIf
|
||||
|
|
@ -367,7 +369,9 @@ class GitAuthHelper {
|
|||
)
|
||||
} else {
|
||||
// Host git directory
|
||||
let gitDir = path.join(this.git.getWorkingDirectory(), '.git')
|
||||
let gitDir = await fs.promises.realpath(
|
||||
path.join(this.git.getWorkingDirectory(), '.git')
|
||||
)
|
||||
gitDir = gitDir.replace(/\\/g, '/') // Use forward slashes, even on Windows
|
||||
|
||||
// Configure host includeIf
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue