Skip to content

Conversation

@SorYoshino
Copy link
Contributor

Summary

Improves the git and git-with-openssh manifests by refining metadata, restructuring post-install behavior, modernizing registry script handling, and aligning both packages with Scoop manifest conventions.

Related issues or pull requests

Changes

  • Refine description to a formal and complete wording
  • Update license to GPL-2.0-or-later and added license URL
  • Refactor notes section using formal language and clear execution instructions
  • Reorganize bin entries
  • Add env_add_path for automatic PATH integration
  • Standardize shortcuts names (grouped under “Git*”)
  • Simplify and generalize post_install scripts
  • Add uninstall script blocks to restore registry changes on removal
  • update checkver & autoupdate
  • Normalize registry file generation encoding and escaping rules

Notes

  • The official installer directly appends the cmd directory to the Path environment variable, and the useful tools contained in this directory extend well beyond git, gitk, and scalar. Rather than enumerating these utilities individually in the bin field, it is more appropriate to add the entire cmd directory to Path.
  • Tools related to gpg are not in the same category as ssh; however, they are critical during development and should be included in the bin field for both git and git-with-openssh.
  • The contents of install-context.reg and install-associations.reg have been realigned with the behavior of the official installer, and the associated logic has been refined accordingly.

Testing

The test results are as follows:
┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> .\checkver.ps1 -App git -Dir 'D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Main\bucket' -f
git: 2.52.0 (scoop version is 2.52.0)
Forcing autoupdate!
Autoupdating git
DEBUG[1766751456] $substitutions (hashtable) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:221:5
DEBUG[1766751456] $substitutions.$dotVersion                    2.52.0
DEBUG[1766751456] $substitutions.$match1                        2.52.0
DEBUG[1766751456] $substitutions.$basenameNoExt                 PortableGit-2.52.0-arm64.7z
DEBUG[1766751456] $substitutions.$urlNoExt                      https://github.com/git-for-windows/git/releases/download/v2.52.0.windows.1/PortableGit-2.52.0-arm64.7z
DEBUG[1766751456] $substitutions.$url                           https://github.com/git-for-windows/git/releases/download/v2.52.0.windows.1/PortableGit-2.52.0-arm64.7z.exe
DEBUG[1766751456] $substitutions.$patchVersion                  0
DEBUG[1766751456] $substitutions.$majorVersion                  2
DEBUG[1766751456] $substitutions.$version                       2.52.0
DEBUG[1766751456] $substitutions.$matchTag                      v2.52.0.windows.1
DEBUG[1766751456] $substitutions.$minorVersion                  52
DEBUG[1766751456] $substitutions.$baseurl                       https://github.com/git-for-windows/git/releases/download/v2.52.0.windows.1
DEBUG[1766751456] $substitutions.$matchHead                     2.52.0
DEBUG[1766751456] $substitutions.$matchTail
DEBUG[1766751456] $substitutions.$preReleaseVersion             2.52.0
DEBUG[1766751456] $substitutions.$dashVersion                   2-52-0
DEBUG[1766751456] $substitutions.$cleanVersion                  2520
DEBUG[1766751456] $substitutions.$buildVersion
DEBUG[1766751456] $substitutions.$underscoreVersion             2_52_0
DEBUG[1766751456] $substitutions.$basename                      PortableGit-2.52.0-arm64.7z.exe
DEBUG[1766751456] $hashfile_url = https://github.com/git-for-windows/git/releases/tag/v2.52.0.windows.1 -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:224:5
Searching hash for PortableGit-2.52.0-arm64.7z.exe in https://github.com/git-for-windows/git/releases/tag/v2.52.0.windows.1
DEBUG[1766751456] $regex = (?s)PortableGit-2\.52\.0-arm64\.7z\.exe.*?([a-fA-F0-9]{64}) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:78:9
Found: bdc2884b321152225498fadc97cad68c244e047310ea686e4fe18ad7257e5b72 using Extract Mode
Writing updated git manifest

┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> .\checkver.ps1 -App git-with-openssh -Dir 'D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Main\bucket' -f
git-with-openssh: 2.52.0 (scoop version is 2.52.0)
Forcing autoupdate!
Autoupdating git-with-openssh
DEBUG[1766751481] $substitutions (hashtable) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:221:5
DEBUG[1766751481] $substitutions.$dotVersion                    2.52.0
DEBUG[1766751481] $substitutions.$match1                        2.52.0
DEBUG[1766751481] $substitutions.$basenameNoExt                 PortableGit-2.52.0-arm64.7z
DEBUG[1766751481] $substitutions.$urlNoExt                      https://github.com/git-for-windows/git/releases/download/v2.52.0.windows.1/PortableGit-2.52.0-arm64.7z
DEBUG[1766751481] $substitutions.$url                           https://github.com/git-for-windows/git/releases/download/v2.52.0.windows.1/PortableGit-2.52.0-arm64.7z.exe
DEBUG[1766751481] $substitutions.$patchVersion                  0
DEBUG[1766751481] $substitutions.$majorVersion                  2
DEBUG[1766751481] $substitutions.$version                       2.52.0
DEBUG[1766751481] $substitutions.$matchTag                      v2.52.0.windows.1
DEBUG[1766751481] $substitutions.$minorVersion                  52
DEBUG[1766751481] $substitutions.$baseurl                       https://github.com/git-for-windows/git/releases/download/v2.52.0.windows.1
DEBUG[1766751481] $substitutions.$matchHead                     2.52.0
DEBUG[1766751481] $substitutions.$matchTail
DEBUG[1766751481] $substitutions.$preReleaseVersion             2.52.0
DEBUG[1766751481] $substitutions.$dashVersion                   2-52-0
DEBUG[1766751481] $substitutions.$cleanVersion                  2520
DEBUG[1766751481] $substitutions.$buildVersion
DEBUG[1766751481] $substitutions.$underscoreVersion             2_52_0
DEBUG[1766751481] $substitutions.$basename                      PortableGit-2.52.0-arm64.7z.exe
DEBUG[1766751481] $hashfile_url = https://github.com/git-for-windows/git/releases/tag/v2.52.0.windows.1 -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:224:5
Searching hash for PortableGit-2.52.0-arm64.7z.exe in https://github.com/git-for-windows/git/releases/tag/v2.52.0.windows.1
DEBUG[1766751481] $regex = (?s)PortableGit-2\.52\.0-arm64\.7z\.exe.*?([a-fA-F0-9]{64}) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:78:9
Found: bdc2884b321152225498fadc97cad68c244e047310ea686e4fe18ad7257e5b72 using Extract Mode
Writing updated git-with-openssh manifest

┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> scoop install Unofficial/git
Installing 'git' (2.52.0) [64bit] from 'Unofficial' bucket
Loading PortableGit-2.52.0-64-bit.7z.exe from cache.
Checking hash of PortableGit-2.52.0-64-bit.7z.exe ... ok.
Extracting PortableGit-2.52.0-64-bit.7z.exe ... done.
Linking D:\Software\Scoop\Local\apps\git\current => D:\Software\Scoop\Local\apps\git\2.52.0
Creating shim for 'sh'.
Creating shim for 'git-bash'.
Making D:\Software\Scoop\Local\shims\git-bash.exe a GUI binary.
Creating shim for 'gpg'.
Creating shim for 'gpg-agent'.
Creating shim for 'gpgconf'.
Creating shim for 'gpg-connect-agent'.
Creating shim for 'pinentry'.
Making D:\Software\Scoop\Local\shims\pinentry.exe a GUI binary.
Creating shortcut for Git\Git Bash (git-bash.exe)
Creating shortcut for Git\Git CMD (git-cmd.exe)
Creating shortcut for Git\Git GUI (git-gui.exe)
Adding D:\Software\Scoop\Local\apps\git\current\cmd to your path.
Running post_install script..done.
'git' (2.52.0) was installed successfully!
Notes
-----
To register file associations, please execute the following command:
reg import "D:\Software\Scoop\Local\apps\git\current\install-associations.reg"

To register the context menu entry, please execute the following command:
reg import "D:\Software\Scoop\Local\apps\git\current\install-context.reg"

To set Git Credential Manager Core for portable Git, please execute the following command:
git config --global credential.helper manager

┏[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> scoop install 'D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Main\bucket\git-with-openssh.json'
Installing 'git-with-openssh' (2.52.0) [64bit] from 'Unofficial' bucket
Loading PortableGit-2.52.0-64-bit.7z.exe from cache.
Checking hash of PortableGit-2.52.0-64-bit.7z.exe ... ok.
Extracting PortableGit-2.52.0-64-bit.7z.exe ... done.
Linking D:\Software\Scoop\Local\apps\git-with-openssh\current => D:\Software\Scoop\Local\apps\git-with-openssh\2.52.0
Creating shim for 'sh'.
Creating shim for 'git-bash'.
Making D:\Software\Scoop\Local\shims\git-bash.exe a GUI binary.
Creating shim for 'gpg'.
Creating shim for 'gpg-agent'.
Creating shim for 'gpgconf'.
Creating shim for 'gpg-connect-agent'.
Creating shim for 'pinentry'.
Making D:\Software\Scoop\Local\shims\pinentry.exe a GUI binary.
Creating shim for 'scp'.
Creating shim for 'sftp'.
Creating shim for 'ssh'.
Creating shim for 'ssh-add'.
Creating shim for 'ssh-agent'.
Creating shim for 'ssh-copy-id'.
Creating shim for 'ssh-keygen'.
Creating shim for 'ssh-keyscan'.
Creating shim for 'ssh-pageant'.
Creating shortcut for Git\Git Bash (git-bash.exe)
Creating shortcut for Git\Git CMD (git-cmd.exe)
Creating shortcut for Git\Git GUI (git-gui.exe)
Adding D:\Software\Scoop\Local\apps\git-with-openssh\current\cmd to your path.
Running post_install script...done.
'git-with-openssh' (2.52.0) was installed successfully!
Notes
-----
To register file associations, please execute the following command:
reg import "D:\Software\Scoop\Local\apps\git-with-openssh\current\install-file-associations.reg"

To register the context menu entry, please execute the following command:
reg import "D:\Software\Scoop\Local\apps\git-with-openssh\current\install-context.reg"

To set Git Credential Manager Core for portable Git, please execute the following command:
git config --global credential.helper manager
  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

git-with-openssh

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

git

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

@SorYoshino
Copy link
Contributor Author

/verify

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

git-with-openssh

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

git

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

@SorYoshino
Copy link
Contributor Author

Hello, @Lutra-Fs .

The previously mentioned license issue has been resolved. Are there any other concerns with this PR? Is there anything I can do to help expedite the review process?

@Lutra-Fs
Copy link
Member

Hello, @Lutra-Fs .

The previously mentioned license issue has been resolved. Are there any other concerns with this PR? Is there anything I can do to help expedite the review process?

Apologies for the late reply. I'm currently tied up with other matters, but I'll take another look at your PR and get back to you as soon as I can.

Copy link
Member

@Lutra-Fs Lutra-Fs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you are available, when addressing these comments, pls also submit your verification script, and results.

Best Regards.

@SorYoshino
Copy link
Contributor Author

/verify

@github-actions
Copy link
Contributor

github-actions bot commented Jan 4, 2026

All changes look good.

Wait for review from human collaborators.

git-with-openssh

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

git

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

@SorYoshino
Copy link
Contributor Author

/verify

@github-actions
Copy link
Contributor

github-actions bot commented Jan 4, 2026

All changes look good.

Wait for review from human collaborators.

git-with-openssh

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

git

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

@SorYoshino
Copy link
Contributor Author

If you are available, when addressing these comments, pls also submit your verification script, and results.

Thank you for reviewing this pull request.

All comments have been addressed. I have also rechecked all files containing changes and should be clear of any further issues.

@Lutra-Fs Lutra-Fs merged commit 6d251f7 into ScoopInstaller:master Jan 5, 2026
3 checks passed
@SorYoshino
Copy link
Contributor Author

Hello, @Lutra-Fs .

Sorry for the late reply.

@SorYoshino SorYoshino deleted the git branch January 5, 2026 12:08
@Lutra-Fs
Copy link
Member

Lutra-Fs commented Jan 5, 2026

Will get these done tomorrow. Currently feeling a bit burned out, there’s just too much going on in my life right now ;;

@SorYoshino
Copy link
Contributor Author

You only need to take a look when you have time. Please make sure to get enough rest — your health is the most important thing. Thank you again for taking the time to review my PR. ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants