327531517ff25fbd455c424890b688de85bd1800
[msysgit.git] / share / WinGit / HowToRelease.txt
blob327531517ff25fbd455c424890b688de85bd1800
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 devel
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 devel
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 . devel:master  # should fast-forward
74    git push
75    git push <version>-msysgit<number>
76    cd /
77    git push . devel:master
78    git push
79    git push Git-<version>
80    # Don't forget to push tags.
82    # Reply to Junio's announcement.
83    # Start the subject of your email with '[ANNOUNCE]'.