forked from msysgit/git
-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'vfs-2.44.0' into for-each-repo-stop-on-error
- Loading branch information
Showing
306 changed files
with
37,500 additions
and
1,061 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
- [ ] I was not able to find an [open](https://github.com/microsoft/git/issues?q=is%3Aopen) | ||
or [closed](https://github.com/microsoft/git/issues?q=is%3Aclosed) issue matching | ||
what I'm seeing, including in [the `git-for-windows/git` tracker](https://github.com/git-for-windows/git/issues). | ||
|
||
### Setup | ||
|
||
- Which version of `microsoft/git` are you using? Is it 32-bit or 64-bit? | ||
|
||
``` | ||
$ git --version --build-options | ||
** insert your machine's response here ** | ||
``` | ||
|
||
Are you using Scalar or VFS for Git? | ||
|
||
** insert your answer here ** | ||
|
||
If VFS for Git, then what version? | ||
|
||
``` | ||
$ gvfs version | ||
** insert your machine's response here ** | ||
``` | ||
|
||
- Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit? | ||
|
||
``` | ||
$ cmd.exe /c ver | ||
** insert your machine's response here ** | ||
``` | ||
|
||
- Any other interesting things about your environment that might be related | ||
to the issue you're seeing? | ||
|
||
** insert your response here ** | ||
|
||
### Details | ||
|
||
- Which terminal/shell are you running Git from? e.g Bash/CMD/PowerShell/other | ||
|
||
** insert your response here ** | ||
|
||
- What commands did you run to trigger this issue? If you can provide a | ||
[Minimal, Complete, and Verifiable example](http://stackoverflow.com/help/mcve) | ||
this will help us understand the issue. | ||
|
||
``` | ||
** insert your commands here ** | ||
``` | ||
- What did you expect to occur after running these commands? | ||
|
||
** insert here ** | ||
|
||
- What actually happened instead? | ||
|
||
** insert here ** | ||
|
||
- If the problem was occurring with a specific repository, can you specify | ||
the repository? | ||
|
||
* [ ] Public repo: **insert URL here** | ||
* [ ] Windows monorepo | ||
* [ ] Office monorepo | ||
* [ ] Other Microsoft-internal repo: **insert name here** | ||
* [ ] Other internal repo. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,10 @@ | ||
Thanks for taking the time to contribute to Git! Please be advised that the | ||
Git community does not use github.com for their contributions. Instead, we use | ||
a mailing list ([email protected]) for code submissions, code reviews, and | ||
bug reports. Nevertheless, you can use GitGitGadget (https://gitgitgadget.github.io/) | ||
to conveniently send your Pull Requests commits to our mailing list. | ||
Thanks for taking the time to contribute to Git! | ||
|
||
For a single-commit pull request, please *leave the pull request description | ||
empty*: your commit message itself should describe your changes. | ||
This fork contains changes specific to monorepo scenarios. If you are an | ||
external contributor, then please detail your reason for submitting to | ||
this fork: | ||
|
||
Please read the "guidelines for contributing" linked above! | ||
* [ ] This is an early version of work already under review upstream. | ||
* [ ] This change only applies to interactions with Azure DevOps and the | ||
GVFS Protocol. | ||
* [ ] This change only applies to the virtualization hook and VFS for Git. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Configuration for sentiment-bot - https://github.com/behaviorbot/sentiment-bot | ||
|
||
# *Required* toxicity threshold between 0 and .99 with the higher numbers being | ||
# the most toxic. Anything higher than this threshold will be marked as toxic | ||
# and commented on | ||
sentimentBotToxicityThreshold: .7 | ||
|
||
# *Required* Comment to reply with | ||
sentimentBotReplyComment: > | ||
Please be sure to review the code of conduct and be respectful of other users. cc/ @git-for-windows/trusted-git-for-windows-developers |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# To get started with Dependabot version updates, you'll need to specify which | ||
# package ecosystems to update and where the package manifests are located. | ||
# Please see the documentation for all configuration options: | ||
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file | ||
# especially | ||
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot#enabling-dependabot-version-updates-for-actions | ||
|
||
version: 2 | ||
updates: | ||
- package-ecosystem: "github-actions" # See documentation for possible values | ||
directory: "/" # Location of package manifests | ||
schedule: | ||
interval: "weekly" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
SHELL := /bin/bash | ||
SUDO := sudo | ||
C_INCLUDE_PATH := /usr/include | ||
CPLUS_INCLUDE_PATH := /usr/include | ||
LD_LIBRARY_PATH := /usr/lib | ||
|
||
OSX_VERSION := $(shell sw_vers -productVersion) | ||
TARGET_FLAGS := -mmacosx-version-min=$(OSX_VERSION) -DMACOSX_DEPLOYMENT_TARGET=$(OSX_VERSION) | ||
|
||
uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') | ||
|
||
ARCH_UNIV := universal | ||
ARCH_FLAGS := -arch x86_64 -arch arm64 | ||
|
||
CFLAGS := $(TARGET_FLAGS) $(ARCH_FLAGS) | ||
LDFLAGS := $(TARGET_FLAGS) $(ARCH_FLAGS) | ||
|
||
PREFIX := /usr/local | ||
GIT_PREFIX := $(PREFIX)/git | ||
|
||
BUILD_DIR := $(GITHUB_WORKSPACE)/payload | ||
DESTDIR := $(PWD)/stage/git-$(ARCH_UNIV)-$(VERSION) | ||
ARTIFACTDIR := build-artifacts | ||
SUBMAKE := $(MAKE) C_INCLUDE_PATH="$(C_INCLUDE_PATH)" CPLUS_INCLUDE_PATH="$(CPLUS_INCLUDE_PATH)" LD_LIBRARY_PATH="$(LD_LIBRARY_PATH)" TARGET_FLAGS="$(TARGET_FLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" NO_GETTEXT=1 NO_DARWIN_PORTS=1 prefix=$(GIT_PREFIX) GIT_BUILT_FROM_COMMIT="$(GIT_BUILT_FROM_COMMIT)" DESTDIR=$(DESTDIR) | ||
CORES := $(shell bash -c "sysctl hw.ncpu | awk '{print \$$2}'") | ||
|
||
# Guard against environment variables | ||
APPLE_APP_IDENTITY = | ||
APPLE_INSTALLER_IDENTITY = | ||
APPLE_KEYCHAIN_PROFILE = | ||
|
||
.PHONY: image pkg payload codesign notarize | ||
|
||
.SECONDARY: | ||
|
||
$(DESTDIR)$(GIT_PREFIX)/VERSION-$(VERSION)-$(ARCH_UNIV): | ||
rm -f $(BUILD_DIR)/git-$(VERSION)/osx-installed* | ||
mkdir -p $(DESTDIR)$(GIT_PREFIX) | ||
touch $@ | ||
|
||
$(BUILD_DIR)/git-$(VERSION)/osx-built-keychain: | ||
cd $(BUILD_DIR)/git-$(VERSION)/contrib/credential/osxkeychain; $(SUBMAKE) CFLAGS="$(CFLAGS) -g -O2 -Wall" | ||
touch $@ | ||
|
||
$(BUILD_DIR)/git-$(VERSION)/osx-built: | ||
[ -d $(DESTDIR)$(GIT_PREFIX) ] && $(SUDO) rm -rf $(DESTDIR) || echo ok | ||
cd $(BUILD_DIR)/git-$(VERSION); $(SUBMAKE) -j $(CORES) all strip | ||
echo "================" | ||
echo "Dumping Linkage" | ||
cd $(BUILD_DIR)/git-$(VERSION); ./git version | ||
echo "====" | ||
cd $(BUILD_DIR)/git-$(VERSION); /usr/bin/otool -L ./git | ||
echo "====" | ||
cd $(BUILD_DIR)/git-$(VERSION); /usr/bin/otool -L ./git-http-fetch | ||
echo "====" | ||
cd $(BUILD_DIR)/git-$(VERSION); /usr/bin/otool -L ./git-http-push | ||
echo "====" | ||
cd $(BUILD_DIR)/git-$(VERSION); /usr/bin/otool -L ./git-remote-http | ||
echo "====" | ||
cd $(BUILD_DIR)/git-$(VERSION); /usr/bin/otool -L ./git-gvfs-helper | ||
echo "================" | ||
touch $@ | ||
|
||
$(BUILD_DIR)/git-$(VERSION)/osx-installed-bin: $(BUILD_DIR)/git-$(VERSION)/osx-built $(BUILD_DIR)/git-$(VERSION)/osx-built-keychain | ||
cd $(BUILD_DIR)/git-$(VERSION); $(SUBMAKE) install | ||
cp $(BUILD_DIR)/git-$(VERSION)/contrib/credential/osxkeychain/git-credential-osxkeychain $(DESTDIR)$(GIT_PREFIX)/bin/git-credential-osxkeychain | ||
mkdir -p $(DESTDIR)$(GIT_PREFIX)/contrib/completion | ||
cp $(BUILD_DIR)/git-$(VERSION)/contrib/completion/git-completion.bash $(DESTDIR)$(GIT_PREFIX)/contrib/completion/ | ||
cp $(BUILD_DIR)/git-$(VERSION)/contrib/completion/git-completion.zsh $(DESTDIR)$(GIT_PREFIX)/contrib/completion/ | ||
cp $(BUILD_DIR)/git-$(VERSION)/contrib/completion/git-prompt.sh $(DESTDIR)$(GIT_PREFIX)/contrib/completion/ | ||
# This is needed for Git-Gui, GitK | ||
mkdir -p $(DESTDIR)$(GIT_PREFIX)/lib/perl5/site_perl | ||
[ ! -f $(DESTDIR)$(GIT_PREFIX)/lib/perl5/site_perl/Error.pm ] && cp $(BUILD_DIR)/git-$(VERSION)/perl/private-Error.pm $(DESTDIR)$(GIT_PREFIX)/lib/perl5/site_perl/Error.pm || echo done | ||
touch $@ | ||
|
||
$(BUILD_DIR)/git-$(VERSION)/osx-installed-man: $(BUILD_DIR)/git-$(VERSION)/osx-installed-bin | ||
mkdir -p $(DESTDIR)$(GIT_PREFIX)/share/man | ||
cp -R $(GITHUB_WORKSPACE)/manpages/ $(DESTDIR)$(GIT_PREFIX)/share/man | ||
touch $@ | ||
|
||
$(BUILD_DIR)/git-$(VERSION)/osx-built-subtree: | ||
cd $(BUILD_DIR)/git-$(VERSION)/contrib/subtree; $(SUBMAKE) XML_CATALOG_FILES="$(XML_CATALOG_FILES)" all git-subtree.1 | ||
touch $@ | ||
|
||
$(BUILD_DIR)/git-$(VERSION)/osx-installed-subtree: $(BUILD_DIR)/git-$(VERSION)/osx-built-subtree | ||
mkdir -p $(DESTDIR) | ||
cd $(BUILD_DIR)/git-$(VERSION)/contrib/subtree; $(SUBMAKE) XML_CATALOG_FILES="$(XML_CATALOG_FILES)" install install-man | ||
touch $@ | ||
|
||
$(BUILD_DIR)/git-$(VERSION)/osx-installed-assets: $(BUILD_DIR)/git-$(VERSION)/osx-installed-bin | ||
mkdir -p $(DESTDIR)$(GIT_PREFIX)/etc | ||
cat assets/etc/gitconfig.osxkeychain >> $(DESTDIR)$(GIT_PREFIX)/etc/gitconfig | ||
cp assets/uninstall.sh $(DESTDIR)$(GIT_PREFIX)/uninstall.sh | ||
sh -c "echo .DS_Store >> $(DESTDIR)$(GIT_PREFIX)/share/git-core/templates/info/exclude" | ||
|
||
symlinks: | ||
mkdir -p $(ARTIFACTDIR)$(PREFIX)/bin | ||
cd $(ARTIFACTDIR)$(PREFIX)/bin; find ../git/bin -type f -exec ln -sf {} \; | ||
for man in man1 man3 man5 man7; do mkdir -p $(ARTIFACTDIR)$(PREFIX)/share/man/$$man; (cd $(ARTIFACTDIR)$(PREFIX)/share/man/$$man; ln -sf ../../../git/share/man/$$man/* ./); done | ||
ruby ../scripts/symlink-git-hardlinks.rb $(ARTIFACTDIR) | ||
touch $@ | ||
|
||
$(BUILD_DIR)/git-$(VERSION)/osx-installed: $(DESTDIR)$(GIT_PREFIX)/VERSION-$(VERSION)-$(ARCH_UNIV) $(BUILD_DIR)/git-$(VERSION)/osx-installed-man $(BUILD_DIR)/git-$(VERSION)/osx-installed-assets $(BUILD_DIR)/git-$(VERSION)/osx-installed-subtree | ||
find $(DESTDIR)$(GIT_PREFIX) -type d -exec chmod ugo+rx {} \; | ||
find $(DESTDIR)$(GIT_PREFIX) -type f -exec chmod ugo+r {} \; | ||
touch $@ | ||
|
||
$(BUILD_DIR)/git-$(VERSION)/osx-built-assert-$(ARCH_UNIV): $(BUILD_DIR)/git-$(VERSION)/osx-built | ||
File $(BUILD_DIR)/git-$(VERSION)/git | ||
File $(BUILD_DIR)/git-$(VERSION)/contrib/credential/osxkeychain/git-credential-osxkeychain | ||
touch $@ | ||
|
||
disk-image/VERSION-$(VERSION)-$(ARCH_UNIV): | ||
rm -f disk-image/*.pkg disk-image/VERSION-* disk-image/.DS_Store | ||
mkdir disk-image | ||
touch "$@" | ||
|
||
pkg_cmd := pkgbuild --identifier com.git.pkg --version $(VERSION) \ | ||
--root $(ARTIFACTDIR)$(PREFIX) --scripts assets/scripts \ | ||
--install-location $(PREFIX) --component-plist ./assets/git-components.plist | ||
|
||
ifdef APPLE_INSTALLER_IDENTITY | ||
pkg_cmd += --sign "$(APPLE_INSTALLER_IDENTITY)" | ||
endif | ||
|
||
pkg_cmd += disk-image/git-$(VERSION)-$(ARCH_UNIV).pkg | ||
disk-image/git-$(VERSION)-$(ARCH_UNIV).pkg: disk-image/VERSION-$(VERSION)-$(ARCH_UNIV) symlinks | ||
$(pkg_cmd) | ||
|
||
git-%-$(ARCH_UNIV).dmg: | ||
hdiutil create git-$(VERSION)-$(ARCH_UNIV).uncompressed.dmg -fs HFS+ -srcfolder disk-image -volname "Git $(VERSION) $(ARCH_UNIV)" -ov 2>&1 | tee err || { \ | ||
grep "Resource busy" err && \ | ||
sleep 5 && \ | ||
hdiutil create git-$(VERSION)-$(ARCH_UNIV).uncompressed.dmg -fs HFS+ -srcfolder disk-image -volname "Git $(VERSION) $(ARCH_UNIV)" -ov; } | ||
hdiutil convert -format UDZO -o $@ git-$(VERSION)-$(ARCH_UNIV).uncompressed.dmg | ||
rm -f git-$(VERSION)-$(ARCH_UNIV).uncompressed.dmg | ||
|
||
payload: $(BUILD_DIR)/git-$(VERSION)/osx-installed $(BUILD_DIR)/git-$(VERSION)/osx-built-assert-$(ARCH_UNIV) | ||
|
||
pkg: disk-image/git-$(VERSION)-$(ARCH_UNIV).pkg | ||
|
||
image: git-$(VERSION)-$(ARCH_UNIV).dmg | ||
|
||
ifdef APPLE_APP_IDENTITY | ||
codesign: | ||
@$(CURDIR)/../scripts/codesign.sh --payload="build-artifacts/usr/local/git" \ | ||
--identity="$(APPLE_APP_IDENTITY)" \ | ||
--entitlements="$(CURDIR)/entitlements.xml" | ||
endif | ||
|
||
# Notarization can only happen if the package is fully signed | ||
ifdef APPLE_KEYCHAIN_PROFILE | ||
notarize: | ||
@$(CURDIR)/../scripts/notarize.sh \ | ||
--package="disk-image/git-$(VERSION)-$(ARCH_UNIV).pkg" \ | ||
--keychain-profile="$(APPLE_KEYCHAIN_PROFILE)" | ||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
[credential] | ||
helper = osxkeychain |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
<plist version="1.0"> | ||
<array> | ||
<dict> | ||
<key>BundleHasStrictIdentifier</key> | ||
<true/> | ||
<key>BundleIsRelocatable</key> | ||
<false/> | ||
<key>BundleIsVersionChecked</key> | ||
<true/> | ||
<key>BundleOverwriteAction</key> | ||
<string>upgrade</string> | ||
<key>RootRelativeBundlePath</key> | ||
<string>git/share/git-gui/lib/Git Gui.app</string> | ||
</dict> | ||
</array> | ||
</plist> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
#!/bin/bash | ||
INSTALL_DST="$2" | ||
SCALAR_C_CMD="$INSTALL_DST/git/bin/scalar" | ||
SCALAR_DOTNET_CMD="/usr/local/scalar/scalar" | ||
SCALAR_UNINSTALL_SCRIPT="/usr/local/scalar/uninstall_scalar.sh" | ||
|
||
function cleanupScalar() | ||
{ | ||
echo "checking whether Scalar was installed" | ||
if [ ! -f "$SCALAR_C_CMD" ]; then | ||
echo "Scalar not installed; exiting..." | ||
return 0 | ||
fi | ||
echo "Scalar is installed!" | ||
|
||
echo "looking for Scalar.NET" | ||
if [ ! -f "$SCALAR_DOTNET_CMD" ]; then | ||
echo "Scalar.NET not found; exiting..." | ||
return 0 | ||
fi | ||
echo "Scalar.NET found!" | ||
|
||
currentUser=$(echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }') | ||
|
||
# Re-register Scalar.NET repositories with the newly-installed Scalar | ||
for repo in $($SCALAR_DOTNET_CMD list); do | ||
( | ||
PATH="$INSTALL_DST/git/bin:$PATH" | ||
sudo -u "$currentUser" scalar register $repo || \ | ||
echo "warning: skipping re-registration of $repo" | ||
) | ||
done | ||
|
||
# Uninstall Scalar.NET | ||
echo "removing Scalar.NET" | ||
|
||
# Add /usr/local/bin to path - default install location of Homebrew | ||
PATH="/usr/local/bin:$PATH" | ||
if (sudo -u "$currentUser" brew list --cask scalar); then | ||
# Remove from Homebrew | ||
sudo -u "$currentUser" brew remove --cask scalar || echo "warning: Scalar.NET uninstall via Homebrew completed with code $?" | ||
echo "Scalar.NET uninstalled via Homebrew!" | ||
elif (sudo -u "$currentUser" brew list --cask scalar-azrepos); then | ||
sudo -u "$currentUser" brew remove --cask scalar-azrepos || echo "warning: Scalar.NET with GVFS uninstall via Homebrew completed with code $?" | ||
echo "Scalar.NET with GVFS uninstalled via Homebrew!" | ||
elif [ -f $SCALAR_UNINSTALL_SCRIPT ]; then | ||
# If not installed with Homebrew, manually remove package | ||
sudo -S sh $SCALAR_UNINSTALL_SCRIPT || echo "warning: Scalar.NET uninstall completed with code $?" | ||
echo "Scalar.NET uninstalled!" | ||
else | ||
echo "warning: Scalar.NET uninstall script not found" | ||
fi | ||
|
||
# Re-create the Scalar symlink, in case it was removed by the Scalar.NET uninstall operation | ||
mkdir -p $INSTALL_DST/bin | ||
/bin/ln -Fs "$SCALAR_C_CMD" "$INSTALL_DST/bin/scalar" | ||
} | ||
|
||
# Run Scalar cleanup (will exit if not applicable) | ||
cleanupScalar | ||
|
||
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
#!/bin/bash -e | ||
if [ ! -r "/usr/local/git" ]; then | ||
echo "Git doesn't appear to be installed via this installer. Aborting" | ||
exit 1 | ||
fi | ||
|
||
if [ "$1" != "--yes" ]; then | ||
echo "This will uninstall git by removing /usr/local/git/, and symlinks" | ||
printf "Type 'yes' if you are sure you wish to continue: " | ||
read response | ||
else | ||
response="yes" | ||
fi | ||
|
||
if [ "$response" == "yes" ]; then | ||
# remove all of the symlinks we've created | ||
pkgutil --files com.git.pkg | grep bin | while read f; do | ||
if [ -L /usr/local/$f ]; then | ||
sudo rm /usr/local/$f | ||
fi | ||
done | ||
|
||
# forget receipts. | ||
pkgutil --packages | grep com.git.pkg | xargs -I {} sudo pkgutil --forget {} | ||
echo "Uninstalled" | ||
|
||
# The guts all go here. | ||
sudo rm -rf /usr/local/git/ | ||
else | ||
echo "Aborted" | ||
exit 1 | ||
fi | ||
|
||
exit 0 |
Oops, something went wrong.