Mercurial: Difference between revisions

From Wiki
Jump to navigation Jump to search
Line 51: Line 51:
hg update -r 0          # revert to version 0 of the repository
hg update -r 0          # revert to version 0 of the repository
hg update              # revert to the latest version of the repository
hg update              # revert to the latest version of the repository
</pre>
== Server ==
Quick and dirty web server:
<pre>
mkdir my_code
cd my_code
hg init
hg serve  # now accessible from http://my_server:8000/
</pre>
</pre>

Revision as of 00:21, 8 November 2012

Client

http://hginit.com/

The command for Mercurial is hg.

Create a repository

Suppose you want to set up version control for the my_code directory.

cd my_code
hg init    # creates .hg directory
hg add     # adds everything from the current directory
hg commit  # has you enter a text description, then creates a first snapshot of the directory


Commit, Revert, Log

hg commit                  # has you enter a text description in a text editor, then creates a snapshot of the directory
hg commit -m "my comment"  # commit with this comment
hg revert --all            # reverts everything back to the last commit
hg log                     # shows a list of all commits

Status, Diff, Remove, Add

> cp a.txt b.txt
> emacs a.txt
> rm favicon.ico
> hg status
M a.txt                   # Modified
? b.txt                   # "?" means mercurial doesn't know anything about this file yet
! favicon.ico             # "!" means missing
>
> hg diff a.txt           # show differences between last snapshot and current version
> hg remove favicon.ico   # really remove this file
> hg add                  # add all new files to repository
> hg status
M a.txt
A b.txt                   # Added
R favicon.ico             # Removed

You need to clear up all the ?s and !s in order to commit.

Cat, Diff, Update

hg cat a.txt            # print current version of a.txt
hg cat -r 0 a.txt       # print version 0 of a.txt
hg diff -r 0:1 a.txt    # show differences between versions 0 and 1 of a.txt
hg update -r 0          # revert to version 0 of the repository
hg update               # revert to the latest version of the repository



Server

Quick and dirty web server:

mkdir my_code
cd my_code
hg init
hg serve   # now accessible from http://my_server:8000/