Skip to content

[Bug]: git@2.53.0: Missing persist field in manifest #7631

@ChuckieChen945

Description

@ChuckieChen945

Prerequisites

  • I have written a descriptive issue title.
  • I have searched all issues/PRs to ensure it has not already been reported or fixed.
  • I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name

git

Expected/Current Behaviour

Expected Behavior

The Git manifest should include a persist field to ensure that configurations /etc/gitconfig are preserved across updates.

Current Behavior

The persist field is missing

Steps to Reproduce

scoop cat git
{
    "version": "2.53.0",
    "description": "A free and open source distributed version control system.",
    "homepage": "https://gitforwindows.org",
    "license": {
        "identifier": "GPL-2.0-only",
        "url": "https://github.com/git-for-windows/git/blob/HEAD/COPYING"
    },
    "notes": [
        "To register file associations, please execute the following command:",
        "reg import \"$dir\\install-associations.reg\"",
        "",
        "To register the context menu entry, please execute the following command:",
        "reg import \"$dir\\install-context.reg\"",
        "",
        "To set Git Credential Manager Core for portable Git, please execute the following command:",
        "git config --global credential.helper manager"
    ],
    "architecture": {
        "64bit": {
            "url": "https://github.com/git-for-windows/git/releases/download/v2.53.0.windows.1/PortableGit-2.53.0-64-bit.7z.exe#/dl.7z",
            "hash": "08713a710ec91ac90de1c09f861289a3b103175f098676e5e664c04dd6c6bf23"
        },
        "arm64": {
            "url": "https://github.com/git-for-windows/git/releases/download/v2.53.0.windows.1/PortableGit-2.53.0-arm64.7z.exe#/dl.7z",
            "hash": "dc59b7383104d57110e370638854cc1b1fd50de0fa6d293dc941f35094594298"
        }
    },
    "persist": "etc/gitconfig",
    "post_install": [
        "$git_path = $dir -replace '\\\\', '\\\\'",
        "Get-ChildItem -Path \"$bucketsdir\\$bucket\\scripts\\$app\" -Filter '*.reg' -File | ForEach-Object {",
        "    $content = Get-Content -Path $_.FullName -Encoding utf8",
        "    if ($global) { $content = $content -replace 'HKEY_CURRENT_USER', 'HKEY_LOCAL_MACHINE' }",
        "    $content -replace '{{git_dir}}', $git_path | Set-Content -Path \"$dir\\$($_.Name)\" -Encoding unicode",
        "}"
    ],
    "env_add_path": "cmd",
    "env_set": {
        "GIT_INSTALL_ROOT": "$dir"
    },
    "bin": [
        "bin\\sh.exe",
        "git-bash.exe",
        "usr\\bin\\gpg.exe",
        "usr\\bin\\gpg-agent.exe",
        "usr\\bin\\gpgconf.exe",
        "usr\\bin\\gpg-connect-agent.exe",
        "usr\\bin\\pinentry.exe"
    ],
    "shortcuts": [
        [
            "git-bash.exe",
            "Git\\Git Bash",
            "--cd-to-home"
        ],
        [
            "git-cmd.exe",
            "Git\\Git CMD",
            "--cd-to-home"
        ],
        [
            "cmd\\git-gui.exe",
            "Git\\Git GUI"
        ]
    ],
    "uninstaller": {
        "script": [
            "if ($cmd -eq 'uninstall') {",
            "    reg import \"$dir\\uninstall-context.reg\" *> $null",
            "    reg import \"$dir\\uninstall-associations.reg\" *> $null",
            "}"
        ]
    },
    "checkver": {
        "url": "https://api.github.com/repositories/23216272/releases/latest",
        "jsonpath": "$.assets[?(@.name =~ /Portable/i)].browser_download_url",
        "regex": "(?i)download/(?<tag>v?[\\d.]+windows[\\d.]+)/PortableGit-([\\d.]+)"
    },
    "autoupdate": {
        "architecture": {
            "64bit": {
                "url": "https://github.com/git-for-windows/git/releases/download/$matchTag/PortableGit-$version-64-bit.7z.exe#/dl.7z"
            },
            "arm64": {
                "url": "https://github.com/git-for-windows/git/releases/download/$matchTag/PortableGit-$version-arm64.7z.exe#/dl.7z"
            }
        },
        "hash": {
            "url": "https://github.com/git-for-windows/git/releases/tag/$matchTag",
            "regex": "(?s)$basename.*?$sha256"
        }
    }
}

Possible Solution

Add the persist field back to the JSON manifest

Scoop and Buckets Version

Current Scoop version:
b588a06e (HEAD -> master, tag: v0.5.3, origin/master, origin/HEAD) chore(release): Bump to version 0.5.3 (resync) (#6436)

'main' bucket:
b9cb5ef9ab (HEAD -> master, origin/master, origin/HEAD) opencode: Update to version 1.1.60

'extras' bucket:
39910e43fd (HEAD -> master, origin/master, origin/HEAD) yuescript: Update to version 0.33.0

'versions' bucket:
c5a0bd66ae (HEAD -> master, origin/master, origin/HEAD) zed-opengl-nightly: Update to version 2026-02-12

'nirsoft' bucket:
eb470c2 (HEAD -> master, origin/master, origin/HEAD) Update url list [ci skip]

'sysinternals' bucket:
dc0419a (HEAD -> main, origin/main, origin/HEAD) sysinternals-suite: Update to version 2026.02.06

'nerd-fonts' bucket:
6dcf6cf2 (HEAD -> master, origin/master, origin/HEAD) Font-Awesome: Update to version 7.2.0

'nonportable' bucket:
281d69a1 (HEAD -> master, origin/master, origin/HEAD) teamviewer-np: Update to version 15.74.6

Scoop Config

scoop_repo   : https://github.com/ScoopInstaller/Scoop
scoop_branch : master
last_update  : 2026/2/12 17:05:43

PowerShell Version

Name                           Value
----                           -----
PSVersion                      7.5.4
PSEdition                      Core
GitCommitId                    7.5.4
OS                             Microsoft Windows 10.0.26200
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Additional Softwares

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions