Size: 1988
Comment: Use the new syntax for merge
|
Size: 2066
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 26: | Line 26: |
# (old versions used "hg update -m" instead) | |
Line 79: | Line 80: |
foo$ cp hgweb.cgi ~/public_html/hg/index.cgi | foo$ cp hgwebdir.cgi ~/public_html/hg/index.cgi |
Setting up a Mercurial project
$ cd project/ $ hg init # creates .hg $ <create .hgignore file> $ hg status # show all non-ignored files $ hg add # add those 'unknown' files $ hg commit # commit all changes, edit changelog entry
Mercurial will look for a file named [".hgignore"] in the root of your repository which contains a set of regular expressions to ignore in file paths.
Branching and merging
$ hg clone linux linux-work # create a new branch $ cd linux-work $ <make changes> $ hg commit $ cd ../linux $ hg pull ../linux-work # pull changesets from linux-work $ hg merge # merge the new tip from linux-work into # (old versions used "hg update -m" instead) # our working directory $ hg commit # commit the result of the merge
Importing patches
Fast:
$ patch < ../p/foo.patch $ hg add # add files added by the patch $ hg remove --after # remove files removed by the patch $ hg commit
Faster:
$ patch < ../p/foo.patch $ hg commit `lsdiff -p1 ../p/foo.patch`
Fastest:
$ cat ../p/patchlist | xargs hg import -p1 -b ../p
Exporting a patch
(make changes) $ hg commit $ hg tip 28237:747a537bd090880c29eae861df4d81b245aa0190 $ hg export 28237 > foo.patch # export changeset 28237
Network support
# pull from the primary Mercurial repo foo$ hg clone http://selenic.com/hg/ foo$ cd hg # export your current repo via HTTP with browsable interface foo$ hg serve -n "My repo" -p 80 # pushing changes to a remote repo with SSH foo$ hg push ssh://user@example.com/~/hg/ # merge changes from a remote machine bar$ hg pull http://foo/ bar$ hg merge # merge changes into your working directory # Set up a CGI server on your webserver foo$ cp hgwebdir.cgi ~/public_html/hg/index.cgi foo$ emacs ~/public_html/hg/index.cgi # adjust the defaults