Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to install git for windows SDK 64bit #1479

Closed
pekof opened this issue Feb 6, 2018 · 7 comments
Closed

Unable to install git for windows SDK 64bit #1479

pekof opened this issue Feb 6, 2018 · 7 comments
Assignees
Milestone

Comments

@pekof
Copy link

pekof commented Feb 6, 2018

When I try https://dl.bintray.com/git-for-windows/pacman/x86_64/git-for-windows.db
I get "Forbidden!"

Running install::

:: Synchronizing package databases...
error: failed retrieving file 'git-for-windows.db' from dl.bintray.com : The req
uested URL returned error: 403
error: failed to update git-for-windows (unexpected error)
mingw32 378.5 KiB 830K/s 00:00 [#####################] 100%
mingw32.sig 96.0 B 46.9K/s 00:00 [#####################] 100%
mingw64 378.6 KiB 1434K/s 00:00 [#####################] 100%
mingw64.sig 96.0 B 46.9K/s 00:00 [#####################] 100%
msys 159.8 KiB 883K/s 00:00 [#####################] 100%
msys.sig 96.0 B 46.9K/s 00:00 [#####################] 100%
error: failed to prepare transaction (could not find database)

There was a problem accessing the MSYS2 repositories
If your setup requires an HTTP proxy to access the web,
please specify it here, otherwise leave it empty.

HTTP proxy:

@dscho
Copy link
Member

dscho commented Feb 6, 2018

Indeed. This is a huge problem right now!

Explanation: we currently use BinTray to serve our Pacman repository. At some stage last Friday, during the frenzy to get v2.16.1(2) released, I apparently hit some threshold and BinTray "rate-limited" us "due to overuse".

Except that it did not rate-limit us. Instead, it now forbids any download of any file we ever uploaded.

I am in the process of moving to Azure Blob Service, which will also have the nice benefit of being a lot more reliable than BinTray (there have been tons of inexplicable timeouts, and I cannot tell you how much time I sank into working around this, and at other times BinTray's status page claimed that everything was green when in reality all uploads failed without good error messages).

@dscho dscho self-assigned this Feb 6, 2018
@dscho dscho added this to the v2.16.1(3) milestone Feb 6, 2018
dscho added a commit to git-for-windows/build-extra that referenced this issue Feb 6, 2018
Git for Windows' Pacman repositories used to be hosted on BinTray. We
spent a lot of time to make it work, but last Friday, while trying to
upload the packages for Git for Windows v2.16.1(2), we hit a threshold
which caused a "rate-limit": now all downloads will result in a 403
Forbidden.

To work around this, let's switch to a service that is not denied so
easily: Azure Blobs. It scales pretty well, too.

This should fix at least partially
git-for-windows/git#1479. The other part will
be to prepare https://github.com/git-for-windows/git-sdk-64 (and
.../git-sdk-32) in such a way that users can simply clone and start
working.

Signed-off-by: Johannes Schindelin <[email protected]>
dscho added a commit to git-for-windows/build-extra that referenced this issue Feb 6, 2018
Git for Windows' SDK packages [are now hosted on Azure
Blobs](53695c4),
fixing part of [issue

Signed-off-by: Johannes Schindelin <[email protected]>
#1479](git-for-windows/git#1479).
@dscho
Copy link
Member

dscho commented Feb 6, 2018

FWIW Git for Windows' Pacman repositories moved to Azure Blobs.

So what does that mean for you, dear reader, who may have found this ticket in search of a solution to getting a working Git for Windows SDK?

Fixing existing SDKs

You can fix your existing SDK (if you installed it successfully before Friday, February 2nd 2018) by downloading either

and then executing pacman -U <downloaded-file>. This will have the main effect of updating your /etc/pacman.conf so that a subsequent pacman -Syu will find the new home of Git for Windows' Pacman repositories.

Initializing a new SDK

If you did not yet have a working SDK, the installer as per Git for Windows' home page will not work (I hope that we get all of this sorted out this week).

The idea is to support a completely new, more robust method of obtaining a working SDK:

git clone --depth 1 https://github.com/git-for-windows/git-sdk-64

(or .../git-sdk-32 for 32-bit setups) and then call git-bash.exe in the top-level directory of the checkout.

(These repositories are essentially synchronized by a scheduled job running on Visual Studio Team Services, and the set of installed packages was chosen so as to support the most common operations developer would want to perform in a Git for Windows SDK.)

This does already work! However, there is currently a bug in Git that prevents fetches/clones from working unless http.sslBackend is configured (which the Git for Windows installer does, hiding the issue). So if you just call git config --system http.sslBackend schannel in the Git Bash before cloning anything, you should be fine.

Future work

I plan on doing a couple more things in the git-sdk-* repositories, and every bit of help with those tasks will be greatly appreciated:

  • add a README.md explaining the purpose, the most common operations, context and design
  • modify /etc/profile.d/git-sdk.sh so that it auto-initializes the git, build-extra, MINGW-packages and MSYS2-packages worktrees in /usr/src: they should only be git init'ed and git add remote origin ..., but not fetching anything yet. They can then be initialized on demand by e.g. git -C /usr/src/git pull origin master
  • ensure that a regular clone works, especially 32-bit, where some of the files seem to be committed with incorrect line endings
  • modify the git-sdk-installer to use the new method instead
  • maybe add an /etc/motd that describes how to build stuff, how to bundle a custom installer, how to keep the SDK up-to-date, etc. Or maybe a helper. Dunno.

@dscho
Copy link
Member

dscho commented Feb 6, 2018

However, there is currently a bug in Git that prevents fetches/clones from working unless http.sslBackend is configured (which the Git for Windows installer does, hiding the issue). So if you just call git config --system http.sslBackend schannel in the Git Bash before cloning anything, you should be fine.

For the record: this should no longer be necessary, as the Git for Windows SDK was updated with Git for Windows v2.16.1(3).

@dscho
Copy link
Member

dscho commented Feb 7, 2018

Actually, the rest of what needs to be addressed in this ticket is properly described here: #1357. So I will close this here ticket now and continue in the other ticket (which I hoped some enthusiastic volunteer could pick up, because it really is a fun project, and I have to address quite a few non-fun projects in the meantime that I do not want to burden anybody else with).

@dscho dscho closed this as completed Feb 7, 2018
@bbolli
Copy link
Collaborator

bbolli commented Feb 7, 2018

The correct link for the 32-bit package is https://wingit.blob.core.windows.net/i686/git-extra-1.1.241.91af289c6-1-i686.pkg.tar.xz. The architecture path component is i686 for 32 bit.

@dscho
Copy link
Member

dscho commented Feb 7, 2018

@bbolli d'oh, of course! Thanks!

@dscho
Copy link
Member

dscho commented Feb 19, 2018

@bbolli FWIW I updated the comment accordingly.

williambradley333cnr pushed a commit to williambradley333cnr/git that referenced this issue Sep 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants