Mercurial > hg > mercurial-crew-with-dirclash
annotate contrib/win32/win32-build.txt @ 2439:e8c4f3d3df8c
extend network protocol to stop clients from locking servers
now all repositories have capabilities slot, tuple with list of names.
if 'unbundle' capability present, repo supports push where client does
not need to lock server. repository classes that have unbundle capability
also have unbundle method.
implemented for ssh now, will be base for push over http.
unbundle protocol acts this way. server tells client what heads it
has during normal negotiate step. client starts unbundle by repeat
server's heads back to it. if server has new heads, abort immediately.
otherwise, transfer changes to server. once data transferred, server
locks and checks heads again. if heads same, changes can be added.
else someone else added heads, and server aborts.
if client wants to force server to add heads, sends special heads list of
'force'.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Thu, 15 Jun 2006 16:37:23 -0700 |
parents | 068b32d06873 |
children | d1dd16256114 |
rev | line source |
---|---|
1291
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
1 The standalone Windows installer for Mercurial is built in a somewhat |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
2 jury-rigged fashion. |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
3 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
4 It has the following prerequisites, at least as I build it: |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
5 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
6 Python for Windows |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
7 http://www.python.org/ftp/python/2.4.1/python-2.4.1.msi |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
8 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
9 MinGW |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
10 http://www.mingw.org/ |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
11 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
12 Python for Windows Extensions |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
13 http://sourceforge.net/projects/pywin32/ |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
14 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
15 mfc71.dll (just download, don't install) |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
16 http://starship.python.net/crew/mhammond/win32/ |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
17 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
18 The py2exe distutils extension |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
19 http://sourceforge.net/projects/py2exe/ |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
20 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
21 Inno Setup |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
22 http://www.jrsoftware.org/isinfo.php |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
23 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
24 ISTool |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
25 http://www.istool.org/default.aspx/ |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
26 |
2384
068b32d06873
Automatically add the path of hg to %PATH% using add_path
Marco Barisione <marco@barisione.org>
parents:
1291
diff
changeset
|
27 add_path (you need only add_path.exe in the zip file) |
068b32d06873
Automatically add the path of hg to %PATH% using add_path
Marco Barisione <marco@barisione.org>
parents:
1291
diff
changeset
|
28 http://www.barisione.org/apps.html#add_path |
068b32d06873
Automatically add the path of hg to %PATH% using add_path
Marco Barisione <marco@barisione.org>
parents:
1291
diff
changeset
|
29 |
1291
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
30 And, of course, Mercurial itself. |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
31 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
32 Once you have all this installed and built, clone a copy of the |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
33 Mercurial repository you want to package, and name the repo |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
34 C:\hg\hg-release. |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
35 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
36 In a shell, build a standalone copy of the hg.exe program: |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
37 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
38 python setup.py build -c mingw32 py2exe -b 1 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
39 |
2384
068b32d06873
Automatically add the path of hg to %PATH% using add_path
Marco Barisione <marco@barisione.org>
parents:
1291
diff
changeset
|
40 Copy mfc71.dll and add_path.exe into the dist directory that just |
068b32d06873
Automatically add the path of hg to %PATH% using add_path
Marco Barisione <marco@barisione.org>
parents:
1291
diff
changeset
|
41 got created. |
1291
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
42 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
43 Run ISTool, and open the C:\hg\hg-release\contrib\win32\mercurial.iss |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
44 file. |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
45 |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
46 In ISTool, type Ctrl-F9 to compile the installer file. The actual |
a942bf419a64
Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
47 installer will be in the C:\hg\hg-release\Output directory. |