Web lists-archives.com

Re: [ANNOUNCE] Git for Windows 2.16.1(3)




Dear Git for Windows SDK users,

[This mail only concerns the *SDK* of Git for Windows, i.e. the build
environment to work on, and contribute to, Git for Windows.]

On Tue, 6 Feb 2018, Johannes Schindelin wrote:

> Changes since Git for Windows v2.16.1(2) (February 2nd 2018)
> 
> New Features
> 
>   * Git for Windows' SDK packages are now hosted on Azure Blobs, fixing
>     part of issue #1479.

To clarify what this means for any developer who wants to update or
install a Git for Windows SDK, here is some guidance.

# Fixing existing SDKs

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

- https://wingit.blob.core.windows.net/x86-64/git-extra-1.1.241.91af289c6-1-x86_64.pkg.tar.xz
  for 64-bit SDKs, or
- https://wingit.blob.core.windows.net/x86-64/git-extra-1.1.241.91af289c6-1-i686.pkg.tar.xz
  for 32-bit SDKs,

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](https://gitforwindows.org/#download-sdk) 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:

```cmd
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!

But you still have to clone https://github.com/git-for-windows/git
manually for the time being (preferred checkout location: /usr/src/git),
and maybe also https://github.com/git-for-windows/build-extra.

## 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`](https://github.com/git-for-windows/build-extra/blob/master/git-extra/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.

This blurb was copy-edited from
https://github.com/git-for-windows/git/issues/1479#issuecomment-363452826

For updates on the Git for Windows SDK front, please follow that ticket!

Thanks,
Johannes