Make x-add-version not require changes be committed first.#1616
Make x-add-version not require changes be committed first.#1616BillyONeal merged 8 commits intomicrosoft:mainfrom
Conversation
…ectory rather than the whole ports tree. Also extract some git ops to git.h.
|
Perf impact of not needing to SHA the whole ports directory as in 2cf695a : |
…preserve chmod +x which doesn't exist on the real filesystem.
…ions test. I made the registry database edits with 2025-03-13-7699e411ea11543de6abc0c7d5fd11cfe0039ae5 , so I know they aren't affected by my changes.
The effect of this change is reverted; it might be worth bringing back in the form of using a smaller set of |
|
|
||
| Copy-Item -Recurse "$PSScriptRoot/../e2e-assets/ci-verify-versions-registry" "$TestingRoot/ci-verify-versions-registry" | ||
| git -C "$TestingRoot/ci-verify-versions-registry" @gitConfigOptions init | ||
| git -C "$TestingRoot/ci-verify-versions-registry" @gitConfigOptions add --chmod=+x 'ports/executable-bit/some-script.sh' |
There was a problem hiding this comment.
This additional test was added with the change to reuse the existing index done in response to x-ci-verify-versions failing on the real github.com/microsoft/vcpkg. Because I was always making new trees that don't have the git-only-on-Windows-anyway +x bit, the new trees had different SHAs than our version database says, resulting in failures.
In the following message to the team I sent when I just discovered this problem I'm using git diff-tree on some of the openssl trees and ports\openssl\unix\configure shows up because it's got a +x.
(Sorry it's just a screenshot; now that I fixed the problem it'd be annoying to try to recreate the broken behavior and it isn't super important now that it is fixed and has a regression test anyway)
e853eef to
7fd1cd7
Compare
7fd1cd7 to
3b8092d
Compare



I was trying to fix a bug / assumption that
builtin_ports_diris undervcpkg_rootelsewhere and realized it might be easier to just fix this problem for good. Note that we no longer need to know where the.gitis and the only real input is the target directory. Git finds the.gitdirectory if necessary; we want it to do that because it respects e.g.GIT_CEILING_DIRECTORIESand friends.