Mercurial: Difference between revisions

From Wiki
Jump to navigation Jump to search
Line 43: Line 43:
You need to clear up all the ?s and !s in order to commit.
You need to clear up all the ?s and !s in order to commit.


=== Cat, Diff, Update
=== Cat, Diff, Update ===
<pre>
<pre>
hg cat a.txt            # print current version of a.txt
hg cat a.txt            # print current version of a.txt

Revision as of 00:17, 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, then creates a snapshot of the directory
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