Git-1.5.4-preview20080202
[msysgit.git] / share / WinGit / HowToRelease.txt
blob32bee2f3706c8978edd85115371781ce4761d5de
1 How to create a Windows Release
2 ===============================
4 A setup executable is named as follows
5 - it starts with Git;
6 - followed by the official git.git version indicating the core features;
7 - followed by
8     * preview<date>, for snapshot builds.
9     * beta#, if we reached a certain quality level but know we're not
10       ready for a stable release. For example testing is needed.
11     * rc#, if there are no known issues. If no new bugs are found, this
12       can be upgraded to a stable release.
14 Examples:
16 Git-1.5.3-preview20071014.exe
17 Git-1.5.3-beta1.exe
18 Git-1.5.3-rc1.exe
19 Git-1.5.3.exe
21 We'll not necessary reach a stable release for each official version
22 number. If we merge changes from git.git we will adjust the number.
23 For example, we might jump to Git-1.5.3.3-rc1 without ever releasing
24 Git-1.5.3. We should stay with preview/beta/rc until we have reached
25 sufficient stability.
27 We use the following criteria to decide if we go stable.
28     * features equivalent to official git-#-#-# are available in Git Bash.
29     * [DONE] git-gui works if run from Git Bash.
30     * [DONE] git-gui works if run from Start Menu.
31     * [DONE] git and git-gui available from Windows Command Prompt (cmd shell).
32     * server functionality (git-daemon, git-shell, ...) _not_ necessarily
33       supported.
34     * git-cheetah _not_ needed.
36 For now we should only release previews.
39 He are the step by step instructions for the maintainer:
41    cd /git
42    git fetch mingw
43    git fetch junio
44    git checkout devel
45    git merge mingw/master
46    make clean
47    make install
48    make -k test | tee test.log
49    # check test.log
50    git push . devel:master  # should fast-forward
52    cd /doc/git/html
53    git fetch
54    git checkout origin/html
56    cd /share/WinGit
57    git checkout devel
58    start ReleaseNotes.rtf # edit and save
59    git commit -a
60    git push . devel:master
61    git tag -a -m "Git-<version>"
62    ./release.sh <version>
64    # test installer
65    # upload to Google code (verify sha1)
66    cd /git
67    git push
68    cd /
69    git push
70    git push Git-<version>  # don't forget to push tag
72    # reply to Junio's announcement