mirror of
https://github.com/git-for-windows/git.git
synced 2025-12-11 11:16:01 -06:00
Use links referring to the default branch in a generic way
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
parent
532d05b334
commit
b2f4a75dee
@ -1,4 +1,4 @@
|
||||
Git comes with an extensive regression test suite. It lives in the [`t/` subdirectory](https://github.com/git/git/tree/master/t) of the source code repository and is organized into test scripts, e.g. `t8002-blame.sh`, which contain multiple test cases. The test scripts themselves are shell scripts.
|
||||
Git comes with an extensive regression test suite. It lives in the [`t/` subdirectory](https://github.com/git/git/tree/HEAD/t) of the source code repository and is organized into test scripts, e.g. `t8002-blame.sh`, which contain multiple test cases. The test scripts themselves are shell scripts.
|
||||
|
||||
The best documentation how to add tests is the test suite itself, by example.
|
||||
|
||||
@ -33,7 +33,7 @@ Every script creates a test repository with a test working tree in a new directo
|
||||
|
||||
Traditionally, the first “test case” is the setup, where you set up files and commits common to multiple test cases in the same script.
|
||||
|
||||
There are a bunch of really useful functions for use in test scripts, e.g. `test_commit`, which not only abbreviates the common “write a file, add it, commit it, tag the commit” stanza, but also increments the timestamp from a fixed first timestamp, so that the commits are reproducible (read: so you can reliably debug even if the bug depends on some side effect of some compression or some such). You will find a comprehensive list in [`t/README`](https://github.com/git/git/blob/master/t/README) under the “Test harness library” heading.
|
||||
There are a bunch of really useful functions for use in test scripts, e.g. `test_commit`, which not only abbreviates the common “write a file, add it, commit it, tag the commit” stanza, but also increments the timestamp from a fixed first timestamp, so that the commits are reproducible (read: so you can reliably debug even if the bug depends on some side effect of some compression or some such). You will find a comprehensive list in [`t/README`](https://github.com/git/git/blob/HEAD/t/README) under the “Test harness library” heading.
|
||||
|
||||
There are also a bunch of useful test helpers in `t/helper/` (automatically added to the `PATH`) e.g. `test-chmtime`. If you need to test native functions, you can introduce a new test helper, or piggy-back onto an existing one.
|
||||
|
||||
|
||||
6
FAQ.md
6
FAQ.md
@ -14,7 +14,7 @@ More information here: [Git for Windows' prerequisites](https://gitforwindows.or
|
||||
|
||||
There is currently no MSI package; there is an exe installer and a portable package. You are welcome to contribute a Pull Request that packages a new installer.
|
||||
|
||||
~There is an existing Pull Request in development and looking for testers, please try out https://github.com/robmen/gitsetup/issues/1 and give feedback.~ It's closed by now. Future development is happening [here](https://github.com/git-for-windows/build-extra/tree/master/msi/).
|
||||
~There is an existing Pull Request in development and looking for testers, please try out https://github.com/robmen/gitsetup/issues/1 and give feedback.~ It's closed by now. Future development is happening [here](https://github.com/git-for-windows/build-extra/tree/HEAD/msi/).
|
||||
|
||||
In the meantime you could try:
|
||||
|
||||
@ -54,7 +54,7 @@ For advanced users working with the *Git for Windows* SDK `pacman` is available
|
||||
|
||||
For hashes see https://github.com/git-for-windows/git/releases
|
||||
|
||||
For (G4W) release notes see the [build-extra repo](https://github.com/git-for-windows/build-extra/blob/master/ReleaseNotes.md), or the top level of your installation (e.g. [C:\Program Files\Git\ReleaseNotes.html](https://www.example.com/Program%20Files/Git/ReleaseNotes.html) - via manual browsing).
|
||||
For (G4W) release notes see the [build-extra repo](https://github.com/git-for-windows/build-extra/blob/HEAD/ReleaseNotes.md), or the top level of your installation (e.g. [C:\Program Files\Git\ReleaseNotes.html](https://www.example.com/Program%20Files/Git/ReleaseNotes.html) - via manual browsing).
|
||||
|
||||
For extracting 7z/zip archives see [page](https://github.com/git-for-windows/git/wiki/Zip-Archives---extracting-the-released-archives).
|
||||
|
||||
@ -114,7 +114,7 @@ Ensure also that you are using proper Build Tools (v140). It's going by default
|
||||
|
||||
## Licenses
|
||||
|
||||
Reproduced from [Git for Windows' release notes](https://github.com/git-for-windows/build-extra/blob/master/ReleaseNotes.md#licenses):
|
||||
Reproduced from [Git for Windows' release notes](https://github.com/git-for-windows/build-extra/blob/HEAD/ReleaseNotes.md#licenses):
|
||||
|
||||
Git is an Open Source project covered by the GNU General Public License version 2 (some parts of it are under different licenses, compatible with the GPLv2). It was originally written by Linus Torvalds with help of a group of hackers around the net.
|
||||
|
||||
|
||||
2
Home.md
2
Home.md
@ -18,7 +18,7 @@ And yes, the idea is still the same as the original one: Update the _MSYS2_ setu
|
||||
|
||||
Now, keep in mind that _MSYS2_ and Linux (The original target for _Git_'s distribution) are very different beasts. Their distributions might include packages that are built from the same source code (i.e. the `binutils`, `gcc` or `bash` package), but the runtime is very, very different: _MSYS2_'s runtime is a stripped-down, slightly modified _Cygwin_ runtime running on top of the Windows kernel, while Linux' runtime is the Linux kernel, running as a separate OS altogether.
|
||||
|
||||
So if you are missing some packages - feel free to start making one. This is Open Source, after all, so everybody interested and capable enough can contribute whatever they need to address their needs. And that includes you: you could imitate e.g. [a simple `PKGBUILD` file](https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-assimp-git/PKGBUILD) to build a new package e.g. `msmtp`, the component that _Git for Windows_ 1.x uses to support `sendemail`. Then open a Pull Request so that _Git for Windows_ can ship it. Our documentation will be helpful in that endeavor: [package-management](https://github.com/git-for-windows/git/wiki/Package-management), in particular [package-management#rebuild-packages](https://github.com/git-for-windows/git/wiki/Package-management#rebuild-packages).
|
||||
So if you are missing some packages - feel free to start making one. This is Open Source, after all, so everybody interested and capable enough can contribute whatever they need to address their needs. And that includes you: you could imitate e.g. [a simple `PKGBUILD` file](https://github.com/msys2/MINGW-packages/blob/HEAD/mingw-w64-assimp-git/PKGBUILD) to build a new package e.g. `msmtp`, the component that _Git for Windows_ 1.x uses to support `sendemail`. Then open a Pull Request so that _Git for Windows_ can ship it. Our documentation will be helpful in that endeavor: [package-management](https://github.com/git-for-windows/git/wiki/Package-management), in particular [package-management#rebuild-packages](https://github.com/git-for-windows/git/wiki/Package-management#rebuild-packages).
|
||||
|
||||
# Start documenting
|
||||
If you need inspiration what you could write about: document your common work flows. Write a tutorial how to start coding _Git for Windows_, how to run the test suite. Write a tutorial how to debug a failing test. Write about something you would have wished you had known about Git for Windows a long time ago.
|
||||
|
||||
@ -10,7 +10,7 @@ A lot of documentation wants to be written, still. A good place is [the Git for
|
||||
|
||||
# Fix bugs or add features in the Git code itself
|
||||
|
||||
Download [the SDK](https://gitforwindows.org/#download-sdk) and build Git. See the [CONTRIBUTING.md](https://github.com/git-for-windows/git/blob/master/CONTRIBUTING.md) page/file
|
||||
Download [the SDK](https://gitforwindows.org/#download-sdk) and build Git. See the [CONTRIBUTING.md](https://github.com/git-for-windows/git/blob/HEAD/CONTRIBUTING.md) page/file
|
||||
|
||||
|
||||
Also have a look at [this page](https://github.com/git-for-windows/git/wiki/Building-Git) for tips and tricks revolving around building and debugging Git.
|
||||
|
||||
@ -27,7 +27,7 @@ If you are comfortable with command line and the `sed` command, the step 2 can b
|
||||
|
||||
3. Authorize signing key with:
|
||||
|
||||
curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/master/git-for-windows-keyring/git-for-windows.gpg |
|
||||
curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/HEAD/git-for-windows-keyring/git-for-windows.gpg |
|
||||
pacman-key --add - &&
|
||||
pacman-key --lsign-key 1A9F3986
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ Instead of configuring and installing Git for Windows using `pacman`, this guide
|
||||
|
||||
## How to
|
||||
|
||||
With the script `getgit` introduced by [git-for-windows/build-extra#261](https://github.com/git-for-windows/build-extra/pull/261), you can download and run the script or just run `curl https://raw.githubusercontent.com/git-for-windows/build-extra/master/git-extra/getgit | bash`.
|
||||
With the script `getgit` introduced by [git-for-windows/build-extra#261](https://github.com/git-for-windows/build-extra/pull/261), you can download and run the script or just run `curl https://raw.githubusercontent.com/git-for-windows/build-extra/HEAD/git-extra/getgit | bash`.
|
||||
|
||||
The script would gather information about the current system ( *Msys / Cygwin* ), bitness, version of an already existed Git for Windows, version of the latest released Git for Windows... and then forge a proper download URL targeting a proper version of the `PortableGit` installer.
|
||||
With all the information prepared, the script would download the installer and unpack it to `/tmp`. After that, all the necessary files will be copied to a proper place inside the ( *Msys's / Cygwin's* ) file system without touching any existing **non-git-for-windows-exclusive** files.
|
||||
|
||||
@ -11,7 +11,7 @@ The documentation is terse, so let's also point to some on-line articles:
|
||||
* [Fun with rerere](https://gitster.livejournal.com/41795.html) from the Git maintainer
|
||||
* [Fix conflicts only once with git rerere](https://medium.com/@porteneuve/fix-conflicts-only-once-with-git-rerere-7d116b2cec67) Nice graphs and examples.
|
||||
* [Do you even rerere?](https://blog.theodo.fr/2015/01/do-you-even-rerere/) Good discussion, including `rerere-train`.
|
||||
* [rerere-train.sh](https://github.com/git/git/blob/master/contrib/rerere-train.sh) use the 'blame' button for extra commit info.
|
||||
* [rerere-train.sh](https://github.com/git/git/blob/HEAD/contrib/rerere-train.sh) use the 'blame' button for extra commit info.
|
||||
* [Are there any downsides to enabling git rerere?](https://stackoverflow.com/q/5519244/717355) Not really, but read and learn.
|
||||
* [Smarter rebase avoiding redundant work?](https://stackoverflow.com/q/10601541/717355) more rerere-train answers
|
||||
* [7.9 Git Tools (book) - Rerere](https://git-scm.com/book/en/v2/Git-Tools-Rerere).
|
||||
@ -29,7 +29,7 @@ Threads about the internal workings:
|
||||
[saving and replaying multiple variants with rerere](https://public-inbox.org/git/1442275050-30497-1-git-send-email-gitster@pobox.com/) 2015-09-14
|
||||
[Should rerere auto-update a merge resolution?](https://public-inbox.org/git/CACPiFCJH7RSb_rz6M6ADuGi0q+oeWYhE1fNMQC0EUcCn_kCJwg@mail.gmail.com/) 2017-08-23
|
||||
[rebase: use OPT_RERERE_AUTOUPDATE()](https://public-inbox.org/git/20190319190317.6632-4-phillip.wood123@gmail.com/#r) 2019-03-19
|
||||
[git/Documentation/technical/rerere.txt](https://github.com/git/git/blob/master/Documentation/technical/rerere.txt) committed on 5 Aug 2018
|
||||
[git/Documentation/technical/rerere.txt](https://github.com/git/git/blob/HEAD/Documentation/technical/rerere.txt) committed on 5 Aug 2018
|
||||
[git rerere unresolve file](https://public-inbox.org/git/200911211958.40872.j6t@kdbg.org/) 2009-11-21 patch series
|
||||
[Make git-rerere a builtin](https://public-inbox.org/git/Pine.LNX.4.63.0612201738000.19693@wbgn013.biozentrum.uni-wuerzburg.de/) 2006-12-20 convert from a perl script
|
||||
[Add a test for git-rerere](https://public-inbox.org/git/Pine.LNX.4.63.0612201737190.19693@wbgn013.biozentrum.uni-wuerzburg.de/) 2006-12-20
|
||||
|
||||
@ -8,7 +8,7 @@ An example of this is
|
||||
Git-2.12.2.2-64-bit.exe /VERYSILENT /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /COMPONENTS="icons,ext\reg\shellhere,assoc,assoc_sh"
|
||||
```
|
||||
|
||||
You can find all of the possible flags to use by calling the installer with the `/?` flag (for the options supported by InnoSetup out of the box), and by inspecting the [`install.iss` file](https://github.com/git-for-windows/build-extra/blob/master/installer/install.iss) (for custom options added only to Git for Windows' installer).
|
||||
You can find all of the possible flags to use by calling the installer with the `/?` flag (for the options supported by InnoSetup out of the box), and by inspecting the [`install.iss` file](https://github.com/git-for-windows/build-extra/blob/HEAD/installer/install.iss) (for custom options added only to Git for Windows' installer).
|
||||
|
||||
You can also load install parameters from a file with `/LOADINF="filename"`, and you can record parameters to a file using `/SAVEINF="filename"`.
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ Afterwards you need to install git to make these changes available to the instal
|
||||
|
||||
If you made any documentation changes, you need to install the documentation too: `make install-html && prefix=/mingw64 make -C contrib/subtree install-html` (the second make invocation installs the `git-subtree.html` which is otherwise missing and leads to an error by the portable installer).
|
||||
|
||||
In some cases, the change you want to make is not in git itself, but in the additional files needed to emulate the *ix environment git expects (things like `grep`, `find`, `cat`,...), or in additional helper files (e.g. `start-ssh-agent.cmd`). These files come from [Msys](https://github.com/git-for-windows/MSYS2-packages) and [Mingw](https://github.com/git-for-windows/MINGW-packages) packages. Please see the documentation for how to make [changes to these packages](Package-management#technical-details). Some files are also in the `build-extras` repo in the subdir [`git-extra`](https://github.com/git-for-windows/build-extra/tree/master/git-extra) (the script which calls notepad as a commit message editor, diff filter for word files,...). The source code for these files are also under `/usr/src` but need to be checked out first (e.g. `cd /usr/src/MINGW-packages && git fetch && git checkout master`).
|
||||
In some cases, the change you want to make is not in git itself, but in the additional files needed to emulate the *ix environment git expects (things like `grep`, `find`, `cat`,...), or in additional helper files (e.g. `start-ssh-agent.cmd`). These files come from [Msys](https://github.com/git-for-windows/MSYS2-packages) and [Mingw](https://github.com/git-for-windows/MINGW-packages) packages. Please see the documentation for how to make [changes to these packages](Package-management#technical-details). Some files are also in the `build-extras` repo in the subdir [`git-extra`](https://github.com/git-for-windows/build-extra/tree/HEAD/git-extra) (the script which calls notepad as a commit message editor, diff filter for word files,...). The source code for these files are also under `/usr/src` but need to be checked out first (e.g. `cd /usr/src/MINGW-packages && git fetch && git checkout master`).
|
||||
|
||||
# Building an installer
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ update.
|
||||
* [makepkg man page](https://www.archlinux.org/pacman/makepkg.8.html)
|
||||
* ArchLinux articles - [Creating Packages](https://wiki.archlinux.org/index.php/Creating_packages) and [PKGBuild](https://wiki.archlinux.org/index.php/PKGBUILD)
|
||||
* [MSYS2 Introduction & Contributing](http://sourceforge.net/p/msys2/wiki/Contributing%20to%20MSYS2/)
|
||||
* [SDK's setup-git-sdk.bat script](https://github.com/git-for-windows/build-extra/blob/master/sdk-installer/setup-git-sdk.bat)
|
||||
* [SDK's setup-git-sdk.bat script](https://github.com/git-for-windows/build-extra/blob/HEAD/sdk-installer/setup-git-sdk.bat)
|
||||
|
||||
## Origin of 'net installer' concept
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ To compile and install Git, you will have to run `make clean` first because *Git
|
||||
|
||||
# Alternative to the Git SDK way
|
||||
|
||||
If you cannot download and install the Git SDK for some reason or other, you could also clone [the Git source code](https://github.com/git-for-windows/git) using [Git for Windows](https://gitforwindows.org/) instead, but make sure that Unix line endings are used: `git clone -c core.autocrlf=false https://github.com/git-for-windows/git vagrant-git`. If Git for Windows does not even work for you, you could also download the source code [as a `.zip`](https://github.com/git-for-windows/git/archive/master.zip) and unpack it.
|
||||
If you cannot download and install the Git SDK for some reason or other, you could also clone [the Git source code](https://github.com/git-for-windows/git) using [Git for Windows](https://gitforwindows.org/) instead, but make sure that Unix line endings are used: `git clone -c core.autocrlf=false https://github.com/git-for-windows/git vagrant-git`. If Git for Windows does not even work for you, you could also download the source code [as a `.zip`](https://github.com/git-for-windows/git/archive/HEAD.zip) and unpack it.
|
||||
|
||||
After that, continue with the `vagrant up` step above.
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user