1 How to create a Windows Release
2 ===============================
4 A setup executable is named as follows
7 - followed by the official git version if the release is closely
8 related to a specific version of official git;
10 * preview<date>, for snapshot builds.
11 * winrc#, if we reach a certain quality level and plan to release
12 a stable version. If no bugs are found, this can be upgraded
13 to a stable release. We use winrc instead of simply rc to avoid
14 confusion with official release candidates. The prefix "win"
15 clearly indicates that the tag is about the Windows release.
19 Git-preview20080313.exe
20 Git-1.5.4-preview20071014.exe
24 We'll not necessary release a stable version for each official
25 version. If we merge changes from git.git we will adjust the number.
26 We will continue releasing previews until we have reached sufficient
29 The following is missing before we release a stable installer.
31 * features equivalent to official git-#-#-# available in Git Bash.
32 * good support for case insensitive filesystems.
34 We will *not* wait for
36 * server functionality (git-daemon, git-shell, ...).
39 A release is created from official git.git plus a number of patches
40 that are not yet in upstream. Since 1.6.0, most of the MinGW port is
41 included in Junio's official git.git. A few patches, however, are not
42 yet included. Those patches are maintained as a branch 'release' that
43 is regularily rebased onto Junio's master. A msysgit release is
44 tagged by a tag having a postfix '.msysgit.[0-9]+'.
46 Here is a step-by-step instruction for the maintainer:
52 git merge mingw/master
53 git merge junio/master
54 make -k test | tee test.log
58 git rebase junio/master
59 # Check that differences between devel and release
60 # are only trivial ones, i.e. tests, that do not
61 # change the released binaries.
63 git tag -a v<version>.msysgit.<number>
68 git checkout origin/html
72 start ReleaseNotes.rtf # edit and save
74 git tag -a -m "Git-<version>" Git-<version>
75 ./release.sh <version>
79 # Upload to Google code (verify sha1).
82 git push . devel:master # should fast-forward
84 git push <version>-msysgit<number>
86 git push . devel:master
88 git push Git-<version>
89 # Don't forget to push tags.
91 # Reply to Junio's announcement.
92 # Start the subject of your email with '[ANNOUNCE]'.