README
changeset 2208 12e36dedf668
parent 2031 d242719c716e
child 3514 72efff4be2ad
equal deleted inserted replaced
2207:8a2a7f7d9df6 2208:12e36dedf668
     9  First, unpack the source:
     9  First, unpack the source:
    10 
    10 
    11  $ tar xvzf mercurial-<ver>.tar.gz
    11  $ tar xvzf mercurial-<ver>.tar.gz
    12  $ cd mercurial-<ver>
    12  $ cd mercurial-<ver>
    13 
    13 
       
    14  When installing, change python to python2.3 or python2.4 if 2.2 is the
       
    15  default on your system.
       
    16 
    14  To install system-wide:
    17  To install system-wide:
    15 
    18 
    16  $ python setup.py install   # change python to python2.3 if 2.2 is default
    19  $ python setup.py install --force
    17 
    20 
    18  To install in your home directory (~/bin and ~/lib, actually), run:
    21  To install in your home directory (~/bin and ~/lib, actually), run:
    19 
    22 
    20  $ python2.3 setup.py install --home=~
    23  $ python setup.py install --home=${HOME} --force
    21  $ export PYTHONPATH=${HOME}/lib/python  # (or lib64/ on some systems)
    24  $ export PYTHONPATH=${HOME}/lib/python  # (or lib64/ on some systems)
    22  $ export PATH=${HOME}/bin:$PATH         # add these to your .bashrc
    25  $ export PATH=${HOME}/bin:$PATH         # add these to your .bashrc
    23 
    26 
    24  And finally:
    27  And finally:
    25 
    28 
    28  If you get complaints about missing modules, you probably haven't set
    31  If you get complaints about missing modules, you probably haven't set
    29  PYTHONPATH correctly.
    32  PYTHONPATH correctly.
    30 
    33 
    31 Setting up a Mercurial project:
    34 Setting up a Mercurial project:
    32 
    35 
    33  $ cd project/
    36  $ hg init project     # creates project directory
    34  $ hg init         # creates .hg
    37  $ cd project
    35  $ hg addremove    # add all unknown files and remove all missing files
    38                        # copy files in, edit them
    36  $ hg commit       # commit all changes, edit changelog entry
    39  $ hg add              # add all unknown files
       
    40  $ hg remove --after   # remove deleted files
       
    41  $ hg commit           # commit all changes, edit changelog entry
    37 
    42 
    38  Mercurial will look for a file named .hgignore in the root of your
    43  Mercurial will look for a file named .hgignore in the root of your
    39  repository which contains a set of regular expressions to ignore in
    44  repository which contains a set of regular expressions to ignore in
    40  file paths.
    45  file paths.
    41 
    46 
    45  $ cd linux-work
    50  $ cd linux-work
    46  $ <make changes>
    51  $ <make changes>
    47  $ hg commit
    52  $ hg commit
    48  $ cd ../linux
    53  $ cd ../linux
    49  $ hg pull ../linux-work     # pull changesets from linux-work
    54  $ hg pull ../linux-work     # pull changesets from linux-work
    50  $ hg update -m              # merge the new tip from linux-work into
    55  $ hg merge                  # merge the new tip from linux-work into
    51                              # our working directory
    56                              # our working directory
    52  $ hg commit                 # commit the result of the merge
    57  $ hg commit                 # commit the result of the merge
    53 
    58 
    54 Importing patches:
    59 Importing patches:
    55 
    60 
    56  Fast:
    61  Fast:
    57  $ patch < ../p/foo.patch
    62  $ patch < ../p/foo.patch
    58  $ hg addremove
    63  $ hg commit -A
    59  $ hg commit
       
    60 
    64 
    61  Faster:
    65  Faster:
    62  $ patch < ../p/foo.patch
    66  $ patch < ../p/foo.patch
    63  $ hg commit `lsdiff -p1 ../p/foo.patch`
    67  $ hg commit `lsdiff -p1 ../p/foo.patch`
    64 
    68 
    85  # pushing changes to a remote repo with SSH
    89  # pushing changes to a remote repo with SSH
    86  foo$ hg push ssh://user@example.com/~/hg/
    90  foo$ hg push ssh://user@example.com/~/hg/
    87 
    91 
    88  # merge changes from a remote machine
    92  # merge changes from a remote machine
    89  bar$ hg pull http://foo/
    93  bar$ hg pull http://foo/
    90  bar$ hg update -m        # merge changes into your working directory
    94  bar$ hg merge   # merge changes into your working directory
    91 
    95 
    92  # Set up a CGI server on your webserver
    96  # Set up a CGI server on your webserver
    93  foo$ cp hgweb.cgi ~/public_html/hg/index.cgi
    97  foo$ cp hgweb.cgi ~/public_html/hg/index.cgi
    94  foo$ emacs ~/public_html/hg/index.cgi # adjust the defaults
    98  foo$ emacs ~/public_html/hg/index.cgi # adjust the defaults
    95 
    99