Mercurial > hg
comparison README @ 63:1c590d34bf61 0.4e
Minor changes for release 0.4e
author | mpm@selenic.com |
---|---|
date | Thu, 12 May 2005 01:23:51 -0800 |
parents | febfb35d2a3e |
children | a182f2561c8e |
comparison
equal
deleted
inserted
replaced
62:022d98aa0a2a | 63:1c590d34bf61 |
---|---|
4 python-dev to install. Alternately, shove everything somewhere in | 4 python-dev to install. Alternately, shove everything somewhere in |
5 your path. | 5 your path. |
6 | 6 |
7 $ tar xvzf mercurial-<ver>.tar.gz | 7 $ tar xvzf mercurial-<ver>.tar.gz |
8 $ cd mercurial-<ver> | 8 $ cd mercurial-<ver> |
9 $ python setup.py install --home ~ | 9 $ python2.3 setup.py install --home ~ |
10 $ export PYTHONPATH=${HOME}/lib/python # add this to your .bashrc | 10 $ export PYTHONPATH=${HOME}/lib/python # add this to your .bashrc |
11 $ export HGMERGE=tkmerge # customize this | 11 $ export HGMERGE=tkmerge # customize this |
12 $ hg # test installation, show help | 12 $ hg # test installation, show help |
13 | 13 |
14 If you get complaints about missing modules, you probably haven't set | 14 If you get complaints about missing modules, you probably haven't set |
15 PYTHONPATH correctly. | 15 PYTHONPATH correctly. |
16 | 16 |
17 You may also want to install psyco, the python specializing compiler. | |
18 It makes commits more than twice as fast. The relevant Debian package | |
19 is python-psyco | |
20 | |
21 Setting up a Mercurial project: | 17 Setting up a Mercurial project: |
22 | 18 |
23 $ cd linux/ | 19 $ cd linux/ |
24 $ hg init # creates .hg | 20 $ hg init # creates .hg |
25 $ hg status # show changes between repo and working dir | 21 $ hg status # show changes between repo and working dir |
26 $ hg diff # generate a unidiff | 22 $ hg diff # generate a unidiff |
23 $ hg export # export a changeset as a diff | |
27 $ hg addremove # add all unknown files and remove all missing files | 24 $ hg addremove # add all unknown files and remove all missing files |
28 $ hg commit # commit all changes, edit changelog entry | 25 $ hg commit # commit all changes, edit changelog entry |
29 | 26 |
30 Mercurial will look for a file named .hgignore in the root of your | 27 Mercurial will look for a file named .hgignore in the root of your |
31 repository contains a set of regular expressions to ignore in file | 28 repository contains a set of regular expressions to ignore in file |
65 $ hg commit `lsdiff -p1 ../p/foo.patch` | 62 $ hg commit `lsdiff -p1 ../p/foo.patch` |
66 | 63 |
67 Fastest: | 64 Fastest: |
68 $ cat ../p/patchlist | xargs hg import -p1 -b ../p | 65 $ cat ../p/patchlist | xargs hg import -p1 -b ../p |
69 | 66 |
70 Network support (highly experimental): | 67 Network support: |
68 | |
69 The simple way: | |
71 | 70 |
72 # pull the self-hosting hg repo | 71 # pull the self-hosting hg repo |
73 foo$ hg init | 72 foo$ hg init |
74 foo$ hg merge http://selenic.com/hg/ | 73 foo$ hg merge http://selenic.com/hg/ |
75 foo$ hg checkout # hg co works too | 74 foo$ hg checkout # hg co works too |
78 foo$ ln -s .hg ~/public_html/hg-linux | 77 foo$ ln -s .hg ~/public_html/hg-linux |
79 | 78 |
80 # merge changes from a remote machine | 79 # merge changes from a remote machine |
81 bar$ hg merge http://foo/~user/hg-linux | 80 bar$ hg merge http://foo/~user/hg-linux |
82 | 81 |
83 This is just a proof of concept of grabbing byte ranges, and is not | 82 The new, fast, experimental way: |
84 expected to perform well. Fixing this needs some pipelining to reduce | 83 |
85 the number of round trips. See zsync for a similar approach. | 84 # pull the self-hosting hg repo |
85 foo$ hg init | |
86 foo$ hg merge hg://selenic.com/hg/ | |
87 foo$ hg checkout # hg co works too | |
88 | |
89 # Set up the CGI server on your webserver | |
90 foo$ ln -s .hg ~/public_html/hg-linux/.hg | |
91 foo$ cp hgweb.py ~/public_html/hg-linux/index.cgi | |
92 | |
93 # merge changes from a remote machine | |
94 bar$ hg merge hg://foo/~user/hg-linux | |
95 | |
86 | 96 |
87 Another approach which does perform well right now is to use rsync. | 97 Another approach which does perform well right now is to use rsync. |
88 Simply rsync the remote repo to a read-only local copy and then do a | 98 Simply rsync the remote repo to a read-only local copy and then do a |
89 local pull. | 99 local pull. |
90 | 100 |