Replace 'devel' with 'master'
[msysgit.git] / share / WinGit / HowToRelease.txt
blobc5439d517c68e2856df061e5cfa3a09471c74a51
1 How to create a Windows Release
2 ===============================
4 A setup executable is named as follows
6  - it starts with Git;
7  - followed by the official git version if the release is closely
8    related to a specific version of official git;
9  - followed by
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.
17 Examples:
19 Git-preview20080313.exe
20 Git-1.5.4-preview20071014.exe
21 Git-1.5.4-winrc3.exe
22 Git-1.5.4.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
27 stability.
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, ...).
37     * git-cheetah.
39 An msysgit release is tagged by a tag having a postfix '.msysgit.[0-9]+'.
41 Here is a step-by-step instruction for the maintainer:
43    cd /git
44    git fetch mingw
45    git fetch junio
46    git checkout master
47    git merge mingw/master
48    git merge junio/master
49    make -k test | tee test.log
50    # check test.log
52    make clean
53    git tag -a v<version>.msysgit.<number>
54    make install
56    cd /doc/git/html
57    git fetch
58    git checkout master
59    git merge origin/master
61    cd /share/WinGit
62    git checkout master
63    start ReleaseNotes.rtf # edit and save
64    git commit -a
65    git tag -a -m "Git-<version>" Git-<version>
66    ./release.sh <version>
68    # Test installer.
70    # Upload to Google code (verify sha1).
72    cd /git
73    git push master
74    git push <version>-msysgit<number>
75    cd /
76    git push master
77    git push Git-<version>
78    # Don't forget to push tags.
80    # Reply to Junio's announcement.
81    # Start the subject of your email with '[ANNOUNCE]'.