22 echo "Usage: $0 [-f] [-n] <version>" >&2
28 create_msysgit_tag
() {
30 while ! git tag
-a -m "Git for Windows $1" \
31 $
(git describe HEAD | cut
-d- -f1).msysgit.
$i
37 # compile everything needed for standard setup
38 test "$do_compile" && {
39 start
/share
/WinGit
/ReleaseNotes.rtf
&&
40 echo "Press enter to continue (Ctrl-C to stop)" &&
42 # create a commit if ReleaseNotes changed
43 test "$(git diff /share/WinGit/ReleaseNotes.rtf)" && {
44 git add
/share
/WinGit
/ReleaseNotes.rtf
&&
45 git commit
-m "Git for Windows $version"
48 create_msysgit_tag
$version &&
50 (cd /src
/git-cheetah
/explorer
/ && make)
57 echo "If that is okay, please call '$0 -f $version'" >&2
62 git update-index
--refresh &&
63 git diff-files
--quiet &&
64 git diff-index
--cached HEAD
--) ||
65 die
"Git submodule has dirty files"
67 test git.exe
= $
(ls -t git.exe $
(git ls-files
) |
head -n 1)) ||
68 die
"Git's git.exe is not up-to-date (run 'cd /git && make' to fix)"
69 for f
in /bin
/git
* /libexec
/git-core
/git
*
76 basename=gitk-git
/gitk
78 */git-citool|
*/git-gui
)
79 basename=git-gui
/git-gui
81 */git-gui--askpass|
*/git-gui.tcl
)
82 basename=git-gui
/$
(basename "$f")
85 basename=$
(basename "$f")
88 cmp "$f" "/git/$basename" ||
89 die
"Installed Git disagrees with contents of /git/"
92 git update-index
--refresh &&
93 git diff-files
--quiet &&
94 git diff-index
--cached HEAD
--) ||
95 die
"msysGit super project not up-to-date"
97 test ! -z "$(git tag --contains HEAD)") ||
98 die
"Git's HEAD is untagged"
102 unset DONT_REMOVE_BUILTINS
104 /share
/WinGit
/copy-files.sh
$TMPDIR &&
105 sed -e '/share\/msysGit/d' -e "s/msysGit/Git (version $version)/" \
106 < /etc
/motd
> $TMPDIR/etc
/motd
&&
107 cp /share
/resources
/gpl-2.0.rtf
/share
/resources
/git.bmp
/share
/resources
/gitsmall.bmp
$TMPDIR &&
108 homewinpath
=$
(cd ~
; pwd -W) &&
109 sed -e "s/%APPVERSION%/$version/" -e "s@%OUTPUTDIR%@$homewinpath@" \
110 < /share
/WinGit
/install.iss
> $TMPDIR/install.iss
&&
111 echo "Lauching Inno Setup compiler ..." &&
112 /share
/InnoSetup
/ISCC.exe
"$TMPDIR/install.iss" -q |
grep -Ev "\s*Reading|\s*Compressing" &&
113 (cd / && git tag
-a -m "Git for Windows $1" Git-
$1)