Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: peter-evans/create-pull-request
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
Loading
...
head repository: peter-evans/create-pull-request
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: support-credential-files
Choose a head ref
Loading
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 4 files changed
  • 1 contributor

Commits on Jan 21, 2026

  1. feat: adopt checkout@v6 auth pattern using credentials files

    Replace the workaround that hid/restored checkout@v6 credential files
    with a proper implementation that aligns with actions/checkout@v6's
    new authentication approach.
    
    Changes:
    - Store credentials in separate config file in RUNNER_TEMP with UUID
    - Use git's includeIf.gitdir mechanism to conditionally include credentials
    - Support both host and Docker container paths for credential resolution
    - Add worktree path support for git worktrees
    - Maintain backwards compatibility with checkout@v4/v5 old-style auth
    
    GitCommandManager:
    - Add configFile parameter to config() method
    - Add tryConfigUnsetValue() for key-value specific unset
    - Add tryGetConfigValues() for multi-value config keys
    - Add tryGetConfigKeys() for regex pattern matching config keys
    
    GitConfigHelper:
    - Remove hacky hide/unhide credential file approach
    - Add getCredentialsConfigPath() for UUID-based credential file paths
    - Add configureIncludeIf() for setting up includeIf entries
    - Add removeIncludeIfCredentials() for cleanup
    - Retain setExtraheaderConfig() for restoring old-style persisted auth
    peter-evans committed Jan 21, 2026
    Configuration menu
    Copy the full SHA
    4924300 View commit details
    Browse the repository at this point in the history
  2. fix: add type annotation to fix TS2345 error in integration test

    The credentialIncludes array was missing a type annotation, causing
    TypeScript to infer it as never[] and reject string pushes.
    peter-evans committed Jan 21, 2026
    Configuration menu
    Copy the full SHA
    2df3028 View commit details
    Browse the repository at this point in the history
  3. fix: use --fixed-value flag when unsetting git config values

    The tryConfigUnsetValue method was passing file paths directly to
    `git config --unset`, which treats the value argument as an extended
    regular expression. File paths contain `.` characters that would match
    any character instead of literal periods, potentially causing incorrect
    matches.
    
    Adding the --fixed-value flag ensures the value is treated as a literal
    string, fixing credential config cleanup in the v6-style authentication.
    peter-evans committed Jan 21, 2026
    Configuration menu
    Copy the full SHA
    6424011 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2026

  1. fix: only remove credentials created by this action instance

    Previously, removeIncludeIfCredentials() deleted all includeIf.gitdir
    entries matching git-credentials-*.config, regardless of which action
    created them. This broke subsequent workflow steps that relied on
    credentials persisted by other actions (e.g., actions/checkout@v6).
    
    Now the cleanup only removes the specific credentials file and config
    entries created by this action instance, leaving other actions'
    credentials intact.
    peter-evans committed Jan 23, 2026
    Configuration menu
    Copy the full SHA
    ca2f66f View commit details
    Browse the repository at this point in the history
  2. fix(security): prevent path traversal in credentials file deletion

    Use path.resolve() to normalize paths before comparison in
    removeIncludeIfCredentials(). The previous startsWith() check was
    vulnerable to path traversal attacks where a path like
    "/tmp/runner/../../../etc/passwd" would pass the check but resolve
    outside RUNNER_TEMP.
    
    Also append path.sep to prevent false positives (e.g., /tmp/runner2
    matching /tmp/runner).
    peter-evans committed Jan 23, 2026
    Configuration menu
    Copy the full SHA
    d9ef76f View commit details
    Browse the repository at this point in the history
Loading
Morty Proxy This is a proxified and sanitized view of the page, visit original site.