##// END OF EJS Templates
Replace tkmerge with hgmerge...
Replace tkmerge with hgmerge -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Replace tkmerge with hgmerge hgmerge attempts to find and use merge, kdiff3, tkmerge, and diff+patch. hg will use hgmerge unless overridden with HGMERGE manifest hash: 9137a620df4b235e66343b0fd0dba87fe631546e -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCoRGrywK+sNU5EO8RAi2VAJ9bh97ChGJymP/p8rvCuyNAMnk1bQCgrIGP vYI6qlyWKQZ01ObUTAIg92o= =+mRH -----END PGP SIGNATURE-----

File last commit:

r240:737c66b6 default
r240:737c66b6 default
Show More
README
117 lines | 3.3 KiB | text/plain | TextLexer
mpm@selenic.com
README: integrate various changes and suggestions from Rafael Villar Burke...
r204 Setting up Mercurial:
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0
mpm@selenic.com
README: integrate various changes and suggestions from Rafael Villar Burke...
r204 Note: some distributions fails to include bits of distutils by
mpm@selenic.com
README: integrate some changes from Kevin Smith...
r205 default, you'll need python-dev to install. You'll also need a C
compiler and a 3-way merge tool like merge, tkdiff, or kdiff3.
mpm@selenic.com
README: integrate various changes and suggestions from Rafael Villar Burke...
r204
First, unpack the source:
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0
$ tar xvzf mercurial-<ver>.tar.gz
$ cd mercurial-<ver>
mpm@selenic.com
README: integrate various changes and suggestions from Rafael Villar Burke...
r204
mpm@selenic.com
README: integrate some changes from Kevin Smith...
r205 To install system-wide:
mpm@selenic.com
README: integrate various changes and suggestions from Rafael Villar Burke...
r204
$ python setup.py install # change python to python2.3 if 2.2 is default
mpm@selenic.com
README: integrate some changes from Kevin Smith...
r205 To install in your home directory (~/bin and ~/lib, actually), run:
mpm@selenic.com
README: integrate various changes and suggestions from Rafael Villar Burke...
r204
$ python2.3 setup.py install --home=~
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0 $ export PYTHONPATH=${HOME}/lib/python # add this to your .bashrc
mpm@selenic.com
README: integrate various changes and suggestions from Rafael Villar Burke...
r204 $ export PATH=${HOME}/bin:$PATH #
mpm@selenic.com
README: integrate some changes from Kevin Smith...
r205
mpm@selenic.com
README: integrate various changes and suggestions from Rafael Villar Burke...
r204 And finally:
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0 $ hg # test installation, show help
If you get complaints about missing modules, you probably haven't set
PYTHONPATH correctly.
Setting up a Mercurial project:
$ cd linux/
$ hg init # creates .hg
$ hg status # show changes between repo and working dir
$ hg diff # generate a unidiff
$ hg addremove # add all unknown files and remove all missing files
$ hg commit # commit all changes, edit changelog entry
mpm@selenic.com
Update the README a bit
r160 $ hg export # export a changeset as a diff
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0
Mercurial will look for a file named .hgignore in the root of your
repository contains a set of regular expressions to ignore in file
paths.
Mercurial commands:
$ hg history # show changesets
$ hg log Makefile # show commits per file
$ hg checkout # check out the tip revision
mpm@selenic.com
Update the README a bit
r160 $ hg checkout <id> # check out a specified changeset
# IDs can be tags, revision numbers, or unique
# subsets of changeset hash numbers
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0 $ hg add foo # add a new file for the next commit
$ hg remove bar # mark a file as removed
$ hg verify # check repo integrity
mpm@selenic.com
Add tag support
r67 $ hg tags # show current tags
mpm@selenic.com
Add annotate and blame to the command list and README
r81 $ hg annotate [files] # show changeset numbers for each file line
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0
Branching and merging:
$ cd ..
$ mkdir linux-work
$ cd linux-work
$ hg branch ../linux # create a new branch
$ hg checkout # populate the working directory
$ <make changes>
$ hg commit
$ cd ../linux
$ hg merge ../linux-work # pull changesets from linux-work
Importing patches:
Fast:
$ patch < ../p/foo.patch
$ hg addremove
$ hg commit
Faster:
$ patch < ../p/foo.patch
$ hg commit `lsdiff -p1 ../p/foo.patch`
Fastest:
$ cat ../p/patchlist | xargs hg import -p1 -b ../p
mpm@selenic.com
README: integrate some changes from Kevin Smith...
r205 Exporting a patch:
(make changes)
$ hg commit
$ hg tip
28237:747a537bd090880c29eae861df4d81b245aa0190
$ hg export 28237 > foo.patch # export changeset 28237
mpm@selenic.com
Minor changes for release 0.4e
r63 Network support:
mpm@selenic.com
Update README to discuss remote pull, rsync, and the hg repo...
r1 # pull the self-hosting hg repo
foo$ hg init
foo$ hg merge http://selenic.com/hg/
mpm@selenic.com
hg co after hg merge
r27 foo$ hg checkout # hg co works too
mpm@selenic.com
Update README to discuss remote pull, rsync, and the hg repo...
r1
mpm@selenic.com
Update the README a bit
r160 # export your current repo via HTTP with browsable interface
foo$ hg serve -n "My repo" -p 80
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0 # merge changes from a remote machine
mpm@selenic.com
Change hg: protocol name to http: and http: to old-http:...
r176 bar$ hg merge http://foo/
mpm@selenic.com
Update the README a bit
r160 bar$ hg co # checkout the result
mpm@selenic.com
Minor changes for release 0.4e
r63
mpm@selenic.com
Update the README a bit
r160 # Set up a CGI server on your webserver
foo$ cp hgweb.cgi ~/public_html/hg-linux/index.cgi
foo$ emacs ~/public_html/hg-linux/index.cgi # adjust the defaults
mpm@selenic.com
Minor changes for release 0.4e
r63
mpm@selenic.com
README: integrate various changes and suggestions from Rafael Villar Burke...
r204 Symbolic repository names:
Mercurial uses an optional file called ~/.hgpaths to track repo
locations symbolically. Simply add a line with the name, a space, and
a URL:
foo$ echo "main http://selenic.com/hg/" >> ~/.hgpaths
mpm@selenic.com
Add ~/.hgpaths to README
r179 foo$ hg merge main
foo$ hg co