hg man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

HG(1)			       Mercurial Manual				 HG(1)

NAME
       hg - Mercurial source code management system

SYNOPSIS
       hg command [option]... [argument]...

DESCRIPTION
       The  hg command provides a command line interface to the Mercurial sys‐
       tem.

COMMAND ELEMENTS
       files...
	      indicates one or more filename or relative path  filenames;  see
	      File Name Patterns for information on pattern matching

       path   indicates a path on the local machine

       revision
	      indicates	 a  changeset  which  can  be specified as a changeset
	      revision number, a tag, or a unique substring of	the  changeset
	      hash value

       repository path
	      either the pathname of a local repository or the URI of a remote
	      repository.

OPTIONS
       -R, --repository
	      repository root directory or name of overlay bundle file

       --cwd  change working directory

       -y, --noninteractive
	      do not prompt, assume 'yes' for any required answers

       -q, --quiet
	      suppress output

       -v, --verbose
	      enable additional output

       --config
	      set/override config option

       --debug
	      enable debugging output

       --debugger
	      start debugger

       --encoding
	      set the charset encoding (default: UTF-8)

       --encodingmode
	      set the charset encoding mode (default: strict)

       --traceback
	      always print a traceback on exception

       --time time how long the command takes

       --profile
	      print command execution profile

       --version
	      output version information and exit

       -h, --help
	      display help and exit

COMMANDS
       add [OPTION]... [FILE]...

	      Schedule files to be version controlled and added to the reposi‐
	      tory.

	      The files will be added to the repository at the next commit. To
	      undo an add before that, see hg forget.

	      If no names are given, add all files to the repository.

	      options:

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      -n, --dry-run
		     do not perform actions, just print output

       addremove [OPTION]... [FILE]...

	      Add all new files and remove all missing files from the  reposi‐
	      tory.

	      New  files are ignored if they match any of the patterns in com‐
	      mit.

	      Use the -s/--similarity option to detect renamed files.  With  a
	      parameter	 greater than 0, this compares every removed file with
	      every added file and records those similar  enough  as  renames.
	      This  option  takes  a  percentage  between 0 (disabled) and 100
	      (files must be identical) as its	parameter.  Detecting  renamed
	      files this way can be expensive.

	      options:

	      -s, --similarity
		     guess renamed files by similarity (0<=s<=100)

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      -n, --dry-run
		     do not perform actions, just print output

       annotate [-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE...

	      List  changes  in files, showing the revision id responsible for
	      each line

	      This command is useful for discovering when a  change  was  made
	      and by whom.

	      Without  the  -a/--text  option,	annotate will avoid processing
	      files it detects as binary. With -a, annotate will annotate  the
	      file  anyway, although the results will probably be neither use‐
	      ful nor desirable.

	      options:

	      -r, --rev
		     annotate the specified revision

	      -f, --follow
		     follow file copies and renames

	      -a, --text
		     treat all files as text

	      -u, --user
		     list the author (long with -v)

	      -d, --date
		     list the date (short with -q)

	      -n, --number
		     list the revision number (default)

	      -c, --changeset
		     list the changeset

	      -l, --line-number
		     show line number at the first appearance

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      aliases: blame

       archive [OPTION]... DEST

	      By default, the revision used  is	 the  parent  of  the  working
	      directory; use -r/--rev to specify a different revision.

	      To  specify  the type of archive to create, use -t/--type. Valid
	      types are:

	      "files" (default): a directory full of files
	      "tar": tar archive, uncompressed
	      "tbz2": tar archive, compressed using bzip2
	      "tgz": tar archive, compressed using gzip
	      "uzip": zip archive, uncompressed
	      "zip": zip archive, compressed using deflate

	      The exact name of the destination archive or directory is	 given
	      using a format string; see 'hg help export' for details.

	      Each  member  added  to  an  archive file has a directory prefix
	      prepended. Use -p/--prefix to specify a format  string  for  the
	      prefix.  The  default  is the basename of the archive, with suf‐
	      fixes removed.

	      options:

	      --no-decode
		     do not pass files through decoders

	      -p, --prefix
		     directory prefix for files in archive

	      -r, --rev
		     revision to distribute

	      -t, --type
		     type of distribution to create

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

       backout [OPTION]... [-r] REV

	      Commit the backed out  changes  as  a  new  changeset.  The  new
	      changeset is a child of the backed out changeset.

	      If  you  backout	a  changeset other than the tip, a new head is
	      created. This head will be the new tip and you should merge this
	      backout changeset with another head.

	      The --merge option remembers the parent of the working directory
	      before starting the backout, then merges the new head with  that
	      changeset	 afterwards.  This  saves  you from doing the merge by
	      hand.  The result of this merge is not committed, as with a nor‐
	      mal merge.

	      See 'hg help dates' for a list of formats valid for -d/--date.

	      options:

	      --merge
		     merge with old dirstate parent after backout

	      --parent
		     parent to choose when backing out merge

	      -r, --rev
		     revision to backout

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      -m, --message
		     use <text> as commit message

	      -l, --logfile
		     read commit message from <file>

	      -d, --date
		     record datecode as commit date

	      -u, --user
		     record the specified user as committer

       bisect [-gbsr] [-c CMD] [REV]

	      This  command helps to find changesets which introduce problems.
	      To use, mark the earliest changeset you know exhibits the	 prob‐
	      lem  as  bad,  then mark the latest changeset which is free from
	      the problem as good. Bisect will update your  working  directory
	      to  a  revision  for testing (unless the -U/--noupdate option is
	      specified). Once you have	 performed  tests,  mark  the  working
	      directory	 as  good  or  bad,  and  bisect will either update to
	      another candidate changeset or announce that it  has  found  the
	      bad revision.

	      As  a shortcut, you can also use the revision argument to mark a
	      revision as good or bad without checking it out first.

	      If you supply a command, it will be used	for  automatic	bisec‐
	      tion.  Its exit status will be used to mark revisions as good or
	      bad: status 0 means good, 125 means to skip  the	revision,  127
	      (command	not  found)  will  abort  the bisection, and any other
	      non-zero exit status means the revision is bad.

	      options:

	      -r, --reset
		     reset bisect state

	      -g, --good
		     mark changeset good

	      -b, --bad
		     mark changeset bad

	      -s, --skip
		     skip testing changeset

	      -c, --command
		     use command to check changeset state

	      -U, --noupdate
		     do not update to target

       branch [-fC] [NAME]

	      With no argument, show the current branch name. With  one	 argu‐
	      ment, set the working directory branch name (the branch will not
	      exist in the repository until the next commit).  Standard	 prac‐
	      tice  recommends	that  primary  development  take  place on the
	      'default' branch.

	      Unless -f/--force is specified, branch will not let  you	set  a
	      branch name that already exists, even if it's inactive.

	      Use  -C/--clean to reset the working directory branch to that of
	      the parent of the working directory, negating a previous	branch
	      change.

	      Use the command 'hg update' to switch to an existing branch. Use
	      'hg commit --close-branch' to mark this branch as closed.

	      options:

	      -f, --force
		     set branch name even if it shadows an existing branch

	      -C, --clean
		     reset branch name to parent branch name

       branches [-a]

	      List the repository's named branches, indicating which ones  are
	      inactive.	 If -c/--closed is specified, also list branches which
	      have been marked closed (see hg commit --close-branch).

	      If -a/--active is specified, only show active branches. A branch
	      is considered active if it contains repository heads.

	      Use the command 'hg update' to switch to an existing branch.

	      options:

	      -a, --active
		     show only branches that have unmerged heads

	      -c, --closed
		     show normal and closed branches

       bundle [-f] [-a] [-r REV]... [--base REV]... FILE [DEST]

	      Generate a compressed changegroup file collecting changesets not
	      known to be in another repository.

	      If no destination repository is  specified  the  destination  is
	      assumed  to  have	 all the nodes specified by one or more --base
	      parameters. To create a bundle containing	 all  changesets,  use
	      -a/--all (or --base null).

	      You  can	change	compression  method with the -t/--type option.
	      The available compression methods are: none, bzip2, and gzip (by
	      default, bundles are compressed using bzip2).

	      The bundle file can then be transferred using conventional means
	      and applied to another repository with the unbundle or pull com‐
	      mand. This is useful when direct push and pull are not available
	      or when exporting an entire repository is undesirable.

	      Applying bundles preserves all changeset contents including per‐
	      missions, copy/rename information, and revision history.

	      options:

	      -f, --force
		     run even when remote repository is unrelated

	      -r, --rev
		     a changeset up to which you would like to bundle

	      --base a base changeset to specify instead of a destination

	      -a, --all
		     bundle all changesets in the repository

	      -t, --type
		     bundle compression type to use (default: bzip2)

	      -e, --ssh
		     specify ssh command to use

	      --remotecmd
		     specify hg command to run on the remote side

       cat [OPTION]... FILE...

	      Print the specified files as they were at the given revision. If
	      no revision is given, the parent of  the	working	 directory  is
	      used, or tip if no revision is checked out.

	      Output  may  be to a file, in which case the name of the file is
	      given using a format string. The formatting rules are  the  same
	      as for the export command, with the following additions:

	      %s   basename of file being printed
	      %d   dirname of file being printed, or '.' if in repository root
	      %p   root-relative path name of file being printed

	      options:

	      -o, --output
		     print output to file with formatted name

	      -r, --rev
		     print the given revision

	      --decode
		     apply any matching decode filter

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

       clone [OPTION]... SOURCE [DEST]

	      Create a copy of an existing repository in a new directory.

	      If  no  destination  directory name is specified, it defaults to
	      the basename of the source.

	      The location of the source is added to the new repository's

	      See 'hg help urls' for valid source format details.

	      It is possible to specify an ssh:// URL as the destination,  but
	      no  Please see 'hg help urls' for important details about ssh://
	      URLs.

	      If the -U/--noupdate option is specified,	 the  new  clone  will
	      contain only a repository (.hg) and no working copy (the working
	      copy parent will be the null changeset). Otherwise,  clone  will
	      initially check out (in order of precedence):

		 a. the changeset, tag or branch specified with -u/--updaterev

		 b. the changeset, tag or branch given with the first -r/--rev

		 c. the head of the default branch

	      Use  'hg clone -u . src dst' to checkout the source repository's
	      parent  changeset	 (applicable  for  local  source  repositories
	      only).

	      A set of changesets (tags, or branch names) to pull may be spec‐
	      ified by listing each  changeset	(tag,  or  branch  name)  with
	      -r/--rev.	  If -r/--rev is used, the cloned repository will con‐
	      tain only a subset of the changesets of the  source  repository.
	      Only  the	 set  of  changesets  defined  by all -r/--rev options
	      (including all their ancestors) will be pulled into the destina‐
	      tion repository.	No subsequent changesets (including subsequent
	      tags) will be present in the destination.

	      Using -r/--rev (or 'clone src#rev dest')	implies	 --pull,  even
	      for local source repositories.

	      For  efficiency,	hardlinks  are	used  for cloning whenever the
	      source and destination are on the	 same  filesystem  (note  this
	      applies  only  to	 the  repository  data, not to the checked out
	      files). Some filesystems, such  as  AFS,	implement  hardlinking
	      incorrectly,  but	 do not report errors. In these cases, use the
	      --pull option to avoid hardlinking.

	      In some cases, you can clone repositories and checked out	 files
	      using full hardlinks with

	      $ cp -al REPO REPOCLONE

	      This is the fastest way to clone, but it is not always safe. The
	      operation is not atomic (making sure REPO is not modified during
	      the  operation is up to you) and you have to make sure your edi‐
	      tor breaks hardlinks (Emacs and most Linux Kernel tools do  so).
	      Also,  this is not compatible with certain extensions that place
	      their metadata under the .hg directory, such as mq.

	      options:

	      -U, --noupdate
		     the clone will only  contain  a  repository  (no  working
		     copy)

	      -u, --updaterev
		     revision, tag or branch to check out

	      -r, --rev
		     a changeset you would like to have after cloning

	      --pull use pull protocol to copy metadata

	      --uncompressed
		     use uncompressed transfer (fast over LAN)

	      -e, --ssh
		     specify ssh command to use

	      --remotecmd
		     specify hg command to run on the remote side

       commit [OPTION]... [FILE]...

	      Commit  changes to the given files into the repository. Unlike a
	      centralized RCS, this operation is a  local  operation.  See  hg
	      push for a way to actively distribute your changes.

	      If  a list of files is omitted, all changes reported by "hg sta‐
	      tus" will be committed.

	      If you are committing the result of a merge, do not provide  any
	      filenames or -I/-X filters.

	      If  no  commit  message  is  specified, the configured editor is
	      started to prompt you for a message.

	      See 'hg help dates' for a list of formats valid for -d/--date.

	      options:

	      -A, --addremove
		     mark new/missing files as added/removed before committing

	      --close-branch
		     mark a branch as closed, hiding it from the branch list

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      -m, --message
		     use <text> as commit message

	      -l, --logfile
		     read commit message from <file>

	      -d, --date
		     record datecode as commit date

	      -u, --user
		     record the specified user as committer

	      aliases: ci

       copy [OPTION]... [SOURCE]... DEST

	      Mark dest as having copies of source files. If dest is a	direc‐
	      tory,  copies  are put in that directory. If dest is a file, the
	      source must be a single file.

	      By default, this command copies the contents of  files  as  they
	      exist  in the working directory. If invoked with -A/--after, the
	      operation is recorded, but no copying is performed.

	      This command takes effect with the next commit. To undo  a  copy
	      before that, see hg revert.

	      options:

	      -A, --after
		     record a copy that has already occurred

	      -f, --force
		     forcibly copy over an existing managed file

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      -n, --dry-run
		     do not perform actions, just print output

	      aliases: cp

       diff [OPTION]... [-r REV1 [-r REV2]] [FILE]...

	      Show differences between revisions for the specified files.

	      Differences  between files are shown using the unified diff for‐
	      mat.

	      NOTE: diff may generate unexpected results  for  merges,	as  it
	      will  default to comparing against the working directory's first
	      parent changeset if no revisions are specified.

	      When two revision arguments are given, then  changes  are	 shown
	      between  those revisions. If only one revision is specified then
	      that revision is compared to the working directory, and, when no
	      revisions	 are  specified,  the working directory files are com‐
	      pared to its parent.

	      Without the -a/--text option, diff will avoid  generating	 diffs
	      of  files	 it  detects  as binary. With -a, diff will generate a
	      diff anyway, probably with undesirable results.

	      Use the -g/--git option to generate diffs in  the	 git  extended
	      diff format. For more information, read 'hg help diffs'.

	      options:

	      -r, --rev
		     revision

	      -c, --change
		     change made by revision

	      -a, --text
		     treat all files as text

	      -g, --git
		     use git extended diff format

	      --nodates
		     don't include dates in diff headers

	      -p, --show-function
		     show which function each change is in

	      --reverse
		     produce a diff that undoes the changes

	      -w, --ignore-all-space
		     ignore white space when comparing lines

	      -b, --ignore-space-change
		     ignore changes in the amount of white space

	      -B, --ignore-blank-lines
		     ignore changes whose lines are all blank

	      -U, --unified
		     number of lines of context to show

	      --stat output diffstat-style summary of changes

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

       export [OPTION]... [-o OUTFILESPEC] REV...

	      Print the changeset header and diffs for one or more revisions.

	      The  information	shown  in  the	changeset  header  is: author,
	      changeset hash, parent(s) and commit comment.

	      NOTE: export may	generate  unexpected  diff  output  for	 merge
	      changesets,  as  it will compare the merge changeset against its
	      first parent only.

	      Output may be to a file, in which case the name of the  file  is
	      given  using  a  format string. The formatting rules are as fol‐
	      lows:

	      %%   literal "%" character
	      %H   changeset hash (40 bytes of hexadecimal)
	      %N   number of patches being generated
	      %R   changeset revision number
	      %b   basename of the exporting repository
	      %h   short-form changeset hash (12 bytes of hexadecimal)
	      %n   zero-padded sequence number, starting at 1
	      %r   zero-padded changeset revision number

	      Without the -a/--text option, export will avoid generating diffs
	      of  files	 it detects as binary. With -a, export will generate a
	      diff anyway, probably with undesirable results.

	      Use the -g/--git option to generate diffs in  the	 git  extended
	      diff format. See 'hg help diffs' for more information.

	      With  the	 --switch-parent  option, the diff will be against the
	      second parent. It can be useful to review a merge.

	      options:

	      -o, --output
		     print output to file with formatted name

	      --switch-parent
		     diff against the second parent

	      -a, --text
		     treat all files as text

	      -g, --git
		     use git extended diff format

	      --nodates
		     don't include dates in diff headers

       forget [OPTION]... FILE...

	      Mark the specified files so they will no longer be tracked after
	      the next commit.

	      This  only  removes  files from the current branch, not from the
	      entire project history, and it does not  delete  them  from  the
	      working directory.

	      To undo a forget before the next commit, see hg add.

	      options:

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

       grep [OPTION]... PATTERN [FILE]...

	      Search revisions of files for a regular expression.

	      This command behaves differently than Unix grep. It only accepts
	      Python/Perl regexps. It searches	repository  history,  not  the
	      working directory. It always prints the revision number in which
	      a match appears.

	      By default, grep only prints output for the first revision of  a
	      file  in	which it finds a match. To get it to print every revi‐
	      sion that contains a change in match status  ("-"	 for  a	 match
	      that  becomes a non-match, or "+" for a non-match that becomes a
	      match), use the --all flag.

	      options:

	      -0, --print0
		     end fields with NUL

	      --all  print all revisions that match

	      -f, --follow
		     follow changeset history, or file history	across	copies
		     and renames

	      -i, --ignore-case
		     ignore case when matching

	      -l, --files-with-matches
		     print only filenames and revisions that match

	      -n, --line-number
		     print matching line numbers

	      -r, --rev
		     search in given revision range

	      -u, --user
		     list the author (long with -v)

	      -d, --date
		     list the date (short with -q)

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

       heads [-r STARTREV] [REV]...

	      With no arguments, show all repository head changesets.

	      Repository "heads" are changesets with no child changesets. They
	      are where development generally takes place and  are  the	 usual
	      targets for update and merge operations.

	      If  one  or  more REV is given, the "branch heads" will be shown
	      for the named branch associated with the specified changeset(s).

	      Branch heads are changesets on a named branch  with  no  descen‐
	      dants  on	 the  same  branch.  A	branch	head could be a "true"
	      (repository) head, or it could be the  last  changeset  on  that
	      branch  before it was merged into another branch, or it could be
	      the last changeset on the branch before a new  branch  was  cre‐
	      ated.  If none of the branch heads are true heads, the branch is
	      considered inactive.

	      If -c/--closed is	 specified,  also  show	 branch	 heads	marked
	      closed (see hg commit --close-branch).

	      If  STARTREV is specified, only those heads that are descendants
	      of STARTREV will be displayed.

	      options:

	      -r, --rev
		     show only heads which are descendants of REV

	      -a, --active
		     show only the active branch heads from open branches

	      -c, --closed
		     show normal and closed branch heads

	      --style
		     display using template map file

	      --template
		     display with template

       help [TOPIC]

	      With no arguments, print a list of commands with short help mes‐
	      sages.

	      Given  a	topic, extension, or command name, print help for that
	      topic.

       identify [-nibt] [-r REV] [SOURCE]

	      With no revision, print a summary of the current	state  of  the
	      repository.

	      Specifying  a path to a repository root or Mercurial bundle will
	      cause lookup to operate on that repository/bundle.

	      This summary identifies the repository state using  one  or  two
	      parent  hash  identifiers, followed by a "+" if there are uncom‐
	      mitted changes in the working directory, a list of tags for this
	      revision and a branch name for non-default branches.

	      options:

	      -r, --rev
		     identify the specified revision

	      -n, --num
		     show local revision number

	      -i, --id
		     show global revision id

	      -b, --branch
		     show branch

	      -t, --tags
		     show tags

	      aliases: id

       import [OPTION]... PATCH...

	      Import  a	 list  of patches and commit them individually (unless
	      --no-commit is specified).

	      If there are  outstanding	 changes  in  the  working  directory,
	      import will abort unless given the -f/--force flag.

	      You  can	import	a  patch  straight  from  a mail message. Even
	      patches as attachments work (to use the body part, it must  have
	      type  text/plain	or  text/x-patch). From and Subject headers of
	      email message are used as default committer and commit  message.
	      All  text/plain body parts before first diff are added to commit
	      message.

	      If the imported patch was	 generated  by	hg  export,  user  and
	      description  from patch override values from message headers and
	      body.  Values  given  on	command	 line  with  -m/--message  and
	      -u/--user override these.

	      If  --exact  is specified, import will set the working directory
	      to the parent of each patch before applying it, and  will	 abort
	      if  the  resulting  changeset  has  a  different ID than the one
	      recorded in the patch. This may  happen  due  to	character  set
	      problems or other deficiencies in the text patch format.

	      With  -s/--similarity,  hg  will attempt to discover renames and
	      copies in the patch in the same way as 'addremove'.

	      To read a patch from standard input, use "-" as the patch	 name.
	      If  a  URL  is  specified, the patch will be downloaded from it.
	      See 'hg help dates' for a list of formats valid for -d/--date.

	      options:

	      -p, --strip
		     directory strip option for patch. This has the same mean‐
		     ing as the corresponding patch option (default: 1)

	      -b, --base
		     base path

	      -f, --force
		     skip check for outstanding uncommitted changes

	      --no-commit
		     don't commit, just update the working directory

	      --exact
		     apply patch to the nodes from which it was generated

	      --import-branch
		     use any branch information in patch (implied by --exact)

	      -m, --message
		     use <text> as commit message

	      -l, --logfile
		     read commit message from <file>

	      -d, --date
		     record datecode as commit date

	      -u, --user
		     record the specified user as committer

	      -s, --similarity
		     guess renamed files by similarity (0<=s<=100)

	      aliases: patch

       incoming [-p] [-n] [-M] [-f] [-r REV]... [--bundle FILENAME] [SOURCE]

	      Show  new	 changesets  found  in	the  specified path/URL or the
	      default pull location. These are the changesets that would  have
	      been pulled if a pull at the time you issued this command.

	      For  remote  repository,	using  --bundle avoids downloading the
	      changesets twice if the incoming is followed by a pull.

	      See pull for valid source format details.

	      options:

	      -f, --force
		     run even when remote repository is unrelated

	      -n, --newest-first
		     show newest record first

	      --bundle
		     file to store the bundles into

	      -r, --rev
		     a specific remote revision up to which you would like  to
		     pull

	      -p, --patch
		     show patch

	      -g, --git
		     use git extended diff format

	      -l, --limit
		     limit number of changes displayed

	      -M, --no-merges
		     do not show merges

	      --style
		     display using template map file

	      --template
		     display with template

	      -e, --ssh
		     specify ssh command to use

	      --remotecmd
		     specify hg command to run on the remote side

	      aliases: in

       init [-e CMD] [--remotecmd CMD] [DEST]

	      Initialize a new repository in the given directory. If the given
	      directory does not exist, it will be created.

	      If no directory is given, the current directory is used.

	      It is possible to specify an ssh:// URL as the destination.  See
	      'hg help urls' for more information.

	      options:

	      -e, --ssh
		     specify ssh command to use

	      --remotecmd
		     specify hg command to run on the remote side

       locate [OPTION]... [PATTERN]...

	      Print  files  under  Mercurial  control in the working directory
	      whose names match the given patterns.

	      By default, this command searches all directories in the working
	      directory.  To  search just the current directory and its subdi‐
	      rectories, use "--include .".

	      If no patterns are given to match, this command prints the names
	      of all files under Mercurial control in the working directory.

	      If  you want to feed the output of this command into the "xargs"
	      command, use the -0 option to both  this	command	 and  "xargs".
	      This will avoid the problem of "xargs" treating single filenames
	      that contain whitespace as multiple filenames.

	      options:

	      -r, --rev
		     search the repository as it stood at REV

	      -0, --print0
		     end filenames with NUL, for use with xargs

	      -f, --fullpath
		     print complete paths from the filesystem root

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

       log [OPTION]... [FILE]

	      Print the revision history of the specified files or the	entire
	      project.

	      File  history  is shown without following rename or copy history
	      of files. Use -f/--follow with  a	 filename  to  follow  history
	      across renames and copies. --follow without a filename will only
	      show ancestors or descendants of the starting  revision.	--fol‐
	      low-first only follows the first parent of merge revisions.

	      If  no  revision range is specified, the default is tip:0 unless
	      --follow is set, in which case the working directory  parent  is
	      used as the starting revision.

	      See 'hg help dates' for a list of formats valid for -d/--date.

	      By default this command prints revision number and changeset id,
	      tags, non-trivial parents, user, date and time,  and  a  summary
	      for  each commit. When the -v/--verbose switch is used, the list
	      of changed files and full commit message are shown.

	      NOTE: log -p/--patch may generate	 unexpected  diff  output  for
	      merge  changesets,  as  it will only compare the merge changeset
	      against its first parent. Also, only files different  from  BOTH
	      parents will appear in files:.

	      options:

	      -f, --follow
		     follow  changeset	history, or file history across copies
		     and renames

	      --follow-first
		     only follow the first parent of merge changesets

	      -d, --date
		     show revisions matching date spec

	      -C, --copies
		     show copied files

	      -k, --keyword
		     do case-insensitive search for a keyword

	      -r, --rev
		     show the specified revision or range

	      --removed
		     include revisions where files were removed

	      -m, --only-merges
		     show only merges

	      -u, --user
		     revisions committed by user

	      -b, --only-branch
		     show only changesets within the given named branch

	      -P, --prune
		     do not display revision or any of its ancestors

	      -p, --patch
		     show patch

	      -g, --git
		     use git extended diff format

	      -l, --limit
		     limit number of changes displayed

	      -M, --no-merges
		     do not show merges

	      --style
		     display using template map file

	      --template
		     display with template

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      aliases: history

       manifest [-r REV]

	      Print a list of version controlled files for the given revision.
	      If  no revision is given, the first parent of the working direc‐
	      tory is used, or the null revision if  no	 revision  is  checked
	      out.

	      With  -v,	 print	file permissions, symlink and executable bits.
	      With --debug, print file revision hashes.

	      options:

	      -r, --rev
		     revision to display

       merge [-f] [[-r] REV]

	      The current working directory is updated with all	 changes  made
	      in  the  requested  revision  since  the last common predecessor
	      revision.

	      Files that changed between either parent are marked  as  changed
	      for  the	next  commit and a commit must be performed before any
	      further updates to the repository are allowed. The  next	commit
	      will have two parents.

	      If no revision is specified, the working directory's parent is a
	      head revision, and the current branch contains exactly one other
	      head,  the  other	 head is merged with by default. Otherwise, an
	      explicit revision with which to merge with must be provided.

	      options:

	      -f, --force
		     force a merge with outstanding changes

	      -r, --rev
		     revision to merge

	      -P, --preview
		     review revisions to merge (no merge is performed)

       outgoing [-M] [-p] [-n] [-f] [-r REV]... [DEST]

	      Show changesets not found in the specified  destination  reposi‐
	      tory or the default push location. These are the changesets that
	      would be pushed if a push was requested.

	      See pull for valid destination format details.

	      options:

	      -f, --force
		     run even when remote repository is unrelated

	      -r, --rev
		     a specific revision up to which you would like to push

	      -n, --newest-first
		     show newest record first

	      -p, --patch
		     show patch

	      -g, --git
		     use git extended diff format

	      -l, --limit
		     limit number of changes displayed

	      -M, --no-merges
		     do not show merges

	      --style
		     display using template map file

	      --template
		     display with template

	      -e, --ssh
		     specify ssh command to use

	      --remotecmd
		     specify hg command to run on the remote side

	      aliases: out

       parents [-r REV] [FILE]

	      Print the working directory's parent revisions. If a revision is
	      given via -r/--rev, the parent of that revision will be printed.
	      If a file argument is given, the revision in which the file  was
	      last changed (before the working directory revision or the argu‐
	      ment to --rev if given) is printed.

	      options:

	      -r, --rev
		     show parents from the specified revision

	      --style
		     display using template map file

	      --template
		     display with template

       paths [NAME]

	      Show definition of symbolic path name NAME. If no name is given,
	      show definition of all available names.

	      Path  names  are	defined	 in the [paths] section of /etc/mercu‐
	      rial/hgrc and $HOME/.hgrc. If run inside a repository,  .hg/hgrc
	      is used, too.

	      See 'hg help urls' for more information.

       pull [-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]

	      Pull changes from a remote repository to a local one.

	      This finds all changes from the repository at the specified path
	      or URL and adds them to a	 local	repository  (the  current  one
	      unless  -R  is  specified). By default, this does not update the
	      copy of the project in the working directory.

	      Use hg incoming if you want to see what would have been added by
	      a	 pull  at the time you issued this command. If you then decide
	      to added those changes to the repository, you should use pull -r
	      X where X is the last changeset listed by hg incoming.

	      If  SOURCE is omitted, the 'default' path will be used.  See 'hg
	      help urls' for more information.

	      options:

	      -u, --update
		     update to new tip if changesets were pulled

	      -f, --force
		     run even when remote repository is unrelated

	      -r, --rev
		     a specific remote revision up to which you would like  to
		     pull

	      -e, --ssh
		     specify ssh command to use

	      --remotecmd
		     specify hg command to run on the remote side

       push [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]

	      Push changes from the local repository to the given destination.

	      This  is	the  symmetrical  operation for pull. It moves changes
	      from the current repository to a different one. If the  destina‐
	      tion is local this is identical to a pull in that directory from
	      the current one.

	      By default, push will refuse to run if  it  detects  the	result
	      would  increase the number of remote heads. This generally indi‐
	      cates the user forgot to pull and merge before pushing.

	      If -r/--rev is used, the named revision and  all	its  ancestors
	      will be pushed to the remote repository.

	      Please  see  'hg	help  urls' for important details about ssh://
	      URLs. If DESTINATION is omitted, a default path will be used.

	      options:

	      -f, --force
		     force push

	      -r, --rev
		     a specific revision up to which you would like to push

	      -e, --ssh
		     specify ssh command to use

	      --remotecmd
		     specify hg command to run on the remote side

       recover

	      Recover from an interrupted commit or pull.

	      This command tries to fix the repository status after an	inter‐
	      rupted  operation.  It  should  only be necessary when Mercurial
	      suggests it.

       remove [OPTION]... FILE...

	      Schedule the indicated files for removal from the repository.

	      This only removes files from the current branch,	not  from  the
	      entire  project  history.	 -A/--after can be used to remove only
	      files that have already been deleted, -f/--force can be used  to
	      force  deletion,	and  -Af  can be used to remove files from the
	      next revision without deleting them from the working directory.

	      The following table details the behavior of remove for different
	      file  states  (columns) and option combinations (rows). The file
	      states are Added [A], Clean [C], Modified [M]  and  Missing  [!]
	      (as  reported  by hg status). The actions are Warn, Remove (from
	      branch) and Delete (from disk):

		     A	C  M  !
	      none   W	RD W  R
	      -f     R	RD RD R
	      -A     W	W  W  R
	      -Af    R	R  R  R

	      This command schedules the files to be removed at the next  com‐
	      mit.  To undo a remove before that, see hg revert.

	      options:

	      -A, --after
		     record delete for missing files

	      -f, --force
		     remove (and delete) file even if added or modified

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      aliases: rm

       rename [OPTION]... SOURCE... DEST

	      Mark  dest  as  copies of sources; mark sources for deletion. If
	      dest is a directory, copies are put in that directory.  If  dest
	      is a file, there can only be one source.

	      By  default,  this  command copies the contents of files as they
	      exist in the working directory. If invoked with -A/--after,  the
	      operation is recorded, but no copying is performed.

	      This  command  takes effect at the next commit. To undo a rename
	      before that, see hg revert.

	      options:

	      -A, --after
		     record a rename that has already occurred

	      -f, --force
		     forcibly copy over an existing managed file

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      -n, --dry-run
		     do not perform actions, just print output

	      aliases: mv

       resolve [OPTION]... [FILE]...

	      This command can cleanly retry unresolved file merges using file
	      revisions preserved from the last update or merge.

	      If a conflict is resolved manually, please note that the changes
	      will be overwritten if the merge is retried  with	 resolve.  The
	      -m/--mark switch should be used to mark the file as resolved.

	      You can specify a set of files to operate on, or use the -a/-all
	      switch to select all unresolved files.

	      This command also allows listing	resolved  files	 and  manually
	      indicating  whether or not files are resolved. All files must be
	      marked as resolved before a commit is permitted.

	      The codes used to show the status of files are:

	      U = unresolved
	      R = resolved

	      options:

	      -a, --all
		     select all unresolved files

	      -l, --list
		     list state of files needing merge

	      -m, --mark
		     mark files as resolved

	      -u, --unmark
		     unmark files as resolved

	      -n, --no-status
		     hide status prefix

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

       revert [OPTION]... [-r REV] [NAME]...

	      (Use update -r to check out earlier revisions, revert  does  not
	      change the working directory parents.)

	      With  no	revision specified, revert the named files or directo‐
	      ries to the contents they had  in	 the  parent  of  the  working
	      directory.   This restores the contents of the affected files to
	      an unmodified state and unschedules adds, removes,  copies,  and
	      renames.	If  the	 working  directory  has two parents, you must
	      explicitly specify the revision to revert to.

	      Using the -r/--rev option, revert the given files or directories
	      to their contents as of a specific revision. This can be helpful
	      to "roll back" some or all of an earlier change.	See  'hg  help
	      dates' for a list of formats valid for -d/--date.

	      Revert  modifies	the  working directory. It does not commit any
	      changes, or change the parent of the working directory.  If  you
	      revert to a revision other than the parent of the working direc‐
	      tory, the reverted files will thus appear modified afterwards.

	      If a file has been deleted, it is restored.  If  the  executable
	      mode of a file was changed, it is reset.

	      If  names	 are given, all files matching the names are reverted.
	      If no arguments are given, no files are reverted.

	      Modified files are saved with a .orig suffix  before  reverting.
	      To disable these backups, use --no-backup.

	      options:

	      -a, --all
		     revert all changes when no arguments given

	      -d, --date
		     tipmost revision matching date

	      -r, --rev
		     revision to revert to

	      --no-backup
		     do not save backup copies of files

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      -n, --dry-run
		     do not perform actions, just print output

       rollback

	      This  command  should be used with care. There is only one level
	      of rollback, and there is no way to undo	a  rollback.  It  will
	      also  restore  the dirstate at the time of the last transaction,
	      losing any dirstate changes since that time. This	 command  does
	      not alter the working directory.

	      Transactions are used to encapsulate the effects of all commands
	      that create new changesets or propagate existing changesets into
	      a	 repository.  For example, the following commands are transac‐
	      tional, and their effects can be rolled back:

	      commit
	      import
	      pull
	      push (with this repository as destination)
	      unbundle

	      This command is not intended for	use  on	 public	 repositories.
	      Once  changes  are  visible  for	pull by other users, rolling a
	      transaction  back	 locally  is  ineffective  (someone  else  may
	      already  have pulled the changes). Furthermore, a race is possi‐
	      ble with readers of the repository; for example  an  in-progress
	      pull from the repository may fail if a rollback is performed.

       root

	      Print the root directory of the current repository.

       serve [OPTION]...

	      Start a local HTTP repository browser and pull server.

	      By  default,  the	 server	 logs accesses to stdout and errors to
	      stderr. Use the -A/--accesslog and -E/--errorlog options to  log
	      to files.

	      options:

	      -A, --accesslog
		     name of access log file to write to

	      -d, --daemon
		     run server in background

	      --daemon-pipefds
		     used internally by daemon mode

	      -E, --errorlog
		     name of error log file to write to

	      -p, --port
		     port to listen on (default: 8000)

	      -a, --address
		     address to listen on (default: all interfaces)

	      --prefix
		     prefix path to serve from (default: server root)

	      -n, --name
		     name to show in web pages (default: working directory)

	      --webdir-conf
		     name  of  the  webdir  config  file  (serve more than one
		     repository)

	      --pid-file
		     name of file to write process ID to

	      --stdio
		     for remote clients

	      -t, --templates
		     web templates to use

	      --style
		     template style to use

	      -6, --ipv6
		     use IPv6 in addition to IPv4

	      --certificate
		     SSL certificate file

       showconfig [-u] [NAME]...

	      With no arguments, print names and values of all config items.

	      With one argument of the form section.name, print just the value
	      of that config item.

	      With  multiple  arguments,  print names and values of all config
	      items with matching section names.

	      With --debug, the source (filename and line number)  is  printed
	      for each config item.

	      options:

	      -u, --untrusted
		     show untrusted configuration options

	      aliases: debugconfig

       status [OPTION]... [FILE]...

	      Show status of files in the repository. If names are given, only
	      files that match are shown. Files that are clean or  ignored  or
	      the  source  of  a  copy/move  operation,	 are not listed unless
	      -c/--clean, -i/--ignored, -C/--copies  or	 -A/--all  are	given.
	      Unless  options  described  with	"show only ..." are given, the
	      options -mardu are used.

	      Option -q/--quiet hides untracked (unknown  and  ignored)	 files
	      unless explicitly requested with -u/--unknown or -i/--ignored.

	      NOTE:  status  may  appear  to disagree with diff if permissions
	      have changed or a merge has occurred. The standard  diff	format
	      does not report permission changes and diff only reports changes
	      relative to one merge parent.

	      If one revision is given, it is used as the base	revision.   If
	      two revisions are given, the differences between them are shown.

	      The codes used to show the status of files are:

	      M = modified
	      A = added
	      R = removed
	      C = clean
	      ! = missing (deleted by non-hg command, but still tracked)
	      ? = not tracked
	      I = ignored
		= origin of the previous file listed as A (added)

	      options:

	      -A, --all
		     show status of all files

	      -m, --modified
		     show only modified files

	      -a, --added
		     show only added files

	      -r, --removed
		     show only removed files

	      -d, --deleted
		     show only deleted (but tracked) files

	      -c, --clean
		     show only files without changes

	      -u, --unknown
		     show only unknown (not tracked) files

	      -i, --ignored
		     show only ignored files

	      -n, --no-status
		     hide status prefix

	      -C, --copies
		     show source of copied files

	      -0, --print0
		     end filenames with NUL, for use with xargs

	      --rev  show difference from revision

	      -I, --include
		     include names matching the given patterns

	      -X, --exclude
		     exclude names matching the given patterns

	      aliases: st

       summary [--remote]

	      This  generates  a brief summary of the working directory state,
	      including parents, branch, commit status, and available updates.

	      With the --remote option, this will check the default paths  for
	      incoming and outgoing changes. This can be time-consuming.

	      options:

	      --remote
		     check for push and pull

	      aliases: sum

       tag [-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME...

	      Name a particular revision using <name>.

	      Tags are used to name particular revisions of the repository and
	      are very useful to compare different revisions, to  go  back  to
	      significant  earlier  versions  or  to  mark  branch  points  as
	      releases, etc.

	      If no revision is given, the parent of the working directory  is
	      used, or tip if no revision is checked out.

	      To  facilitate  version  control,	 distribution,	and merging of
	      tags, they are stored as a file named ".hgtags" which is managed
	      similarly	 to other project files and can be hand-edited if nec‐
	      essary. The file '.hg/localtags' is used	for  local  tags  (not
	      shared among repositories).

	      See 'hg help dates' for a list of formats valid for -d/--date.

	      options:

	      -f, --force
		     replace existing tag

	      -l, --local
		     make the tag local

	      -r, --rev
		     revision to tag

	      --remove
		     remove a tag

	      -m, --message
		     use <text> as commit message

	      -d, --date
		     record datecode as commit date

	      -u, --user
		     record the specified user as committer

       tags

	      This  lists  both	 regular and local tags. When the -v/--verbose
	      switch is used, a third column  "local"  is  printed  for	 local
	      tags.

       tip [-p]

	      The  tip revision (usually just called the tip) is the changeset
	      most recently added to the repository (and  therefore  the  most
	      recently changed head).

	      If  you have just made a commit, that commit will be the tip. If
	      you have just pulled changes from another repository, the tip of
	      that  repository	becomes the current tip. The "tip" tag is spe‐
	      cial and cannot be renamed or assigned to a different changeset.

	      options:

	      -p, --patch
		     show patch

	      -g, --git
		     use git extended diff format

	      --style
		     display using template map file

	      --template
		     display with template

       unbundle [-u] FILE...

	      Apply one or more compressed changegroup files generated by  the
	      bundle command.

	      options:

	      -u, --update
		     update to new tip if changesets were unbundled

       update [-c] [-C] [-d DATE] [[-r] REV]

	      Update  the  repository's	 working  directory  to	 the specified
	      changeset.

	      If no changeset is specified, attempt to update to the  head  of
	      the  current branch. If this head is a descendant of the working
	      directory's parent, update to it, otherwise abort.

	      The following rules apply when the  working  directory  contains
	      uncommitted changes:

	      1. If neither -c/--check nor -C/--clean is specified, and if the
		 requested changeset is an ancestor or descendant of the work‐
		 ing  directory's  parent,  the uncommitted changes are merged
		 into the requested changeset and the merged  result  is  left
		 uncommitted. If the requested changeset is not an ancestor or
		 descendant (that is, it is on another branch), the update  is
		 aborted and the uncommitted changes are preserved.

	      2. With  the  -c/--check	option,	 the update is aborted and the
		 uncommitted changes are preserved.

	      3. With the -C/--clean option, uncommitted changes are discarded
		 and the working directory is updated to the requested change‐
		 set.

	      Use null as the changeset to remove the working directory	 (like
	      'hg clone -U').

	      If  you  want to update just one file to an older changeset, use
	      'hg revert'.

	      See 'hg help dates' for a list of formats valid for -d/--date.

	      options:

	      -C, --clean
		     discard uncommitted changes (no backup)

	      -c, --check
		     check for uncommitted changes

	      -d, --date
		     tipmost revision matching date

	      -r, --rev
		     revision

	      aliases: up checkout co

       verify

	      Verify the integrity of the current repository.

	      This  will  perform  an  extensive  check	 of  the  repository's
	      integrity,  validating the hashes and checksums of each entry in
	      the changelog, manifest, and  tracked  files,  as	 well  as  the
	      integrity of their crosslinks and indices.

       version

	      output version and copyright information

CONFIGURATION FILES
       Mercurial  reads	 configuration data from several files, if they exist.
       Below we list the most specific file first.

       On Windows, these configuration files are read:

       · <repo>\.hg\hgrc

       · %USERPROFILE%\.hgrc

       · %USERPROFILE%\Mercurial.ini

       · %HOME%\.hgrc

       · %HOME%\Mercurial.ini

       · C:\Mercurial\Mercurial.ini

       · HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial

       · <install-dir>\Mercurial.ini

       On Unix, these files are read:

       · <repo>/.hg/hgrc

       · $HOME/.hgrc

       · /etc/mercurial/hgrc

       · /etc/mercurial/hgrc.d/*.rc

       · <install-root>/etc/mercurial/hgrc

       · <install-root>/etc/mercurial/hgrc.d/*.rc

       The configuration files for Mercurial use a simple ini-file  format.  A
       configuration  file consists of sections, led by a [section] header and
       followed by name = value entries:

       [ui]
       username = Firstname Lastname <firstname.lastname@example.net>
       verbose = True

       This above entries will be referred to as ui.username  and  ui.verbose,
       respectively.  Please  see  the hgrc man page for a full description of
       the possible configuration values:

       · on Unix-like systems: man hgrc

       · online: http://www.selenic.com/mercurial/hgrc.5.html

DATE FORMATS
       Some commands allow the user to specify a date, e.g.:

       · backout, commit, import, tag: Specify the commit date.

       · log, revert, update: Select revision(s) by date.

       Many date formats are valid. Here are some examples:

       "Wed Dec 6 13:18:29 2006" (local timezone assumed)
       "Dec 6 13:18 -0600" (year assumed, time offset provided)
       "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000)
       "Dec 6" (midnight)
       "13:18" (today assumed)
       "3:39" (3:39AM assumed)
       "3:39pm" (15:39)
       "2006-12-06 13:18:29" (ISO 8601 format)
       "2006-12-6 13:18"
       "2006-12-6"
       "12-6"
       "12/6"
       "12/6/6" (Dec 6 2006)

       Lastly, there is Mercurial's internal format:

       "1165432709 0" (Wed Dec 6 13:18:29 2006 UTC)

       This is the internal representation format for dates. unixtime  is  the
       number of seconds since the epoch (1970-01-01 00:00 UTC). offset is the
       offset of the local timezone, in seconds west of UTC (negative  if  the
       timezone is east of UTC).

       The log command also accepts date ranges:

       "<{datetime}" - at or before a given date/time
       ">{datetime}" - on or after a given date/time
       "{datetime} to {datetime}" - a date range, inclusive
       "-{days}" - within a given number of days of today

FILE NAME PATTERNS
       Mercurial  accepts  several notations for identifying one or more files
       at a time.

       By default, Mercurial treats filenames  as  shell-style	extended  glob
       patterns.

       Alternate pattern notations must be specified explicitly.

       To  use	a  plain path name without any pattern matching, start it with
       path:. These path names must completely match starting at  the  current
       repository root.

       To  use	an extended glob, start a name with glob:. Globs are rooted at
       the current directory; a glob such as *.c will only match files in  the
       current directory ending with .c.

       The  supported glob syntax extensions are ** to match any string across
       path separators and {a,b} to mean "a or b".

       To use a Perl/Python regular expression, start a name with re:.	Regexp
       pattern matching is anchored at the root of the repository.

       Plain examples:

       path:foo/bar   a name bar in a directory named foo in the root
		      of the repository
       path:path:name a file or directory named "path:name"

       Glob examples:

       glob:*.c	      any name ending in ".c" in the current directory
       *.c	      any name ending in ".c" in the current directory
       **.c	      any name ending in ".c" in any subdirectory of the
		      current directory including itself.
       foo/*.c	      any name ending in ".c" in the directory foo
       foo/**.c	      any name ending in ".c" in any subdirectory of foo
		      including itself.

       Regexp examples:

       re:.*\.c$      any name ending in ".c", anywhere in the repository

ENVIRONMENT VARIABLES
       HG     Path  to	the 'hg' executable, automatically passed when running
	      hooks, extensions or external tools. If unset or empty, this  is
	      the  hg executable's name if it's frozen, or an executable named
	      'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD]  extensions
	      on Windows) is searched.

       HGEDITOR
	      This  is the name of the editor to run when committing. See EDI‐
	      TOR.

	      (deprecated, use .hgrc)

       HGENCODING
	      This overrides the default locale setting detected by Mercurial.
	      This  setting  is	 used  to  convert  data  including usernames,
	      changeset descriptions, tag names, and  branches.	 This  setting
	      can be overridden with the --encoding command-line option.

       HGENCODINGMODE
	      This  sets  Mercurial's behavior for handling unknown characters
	      while transcoding user input. The	 default  is  "strict",	 which
	      causes  Mercurial	 to  abort  if it can't map a character. Other
	      settings include "replace", which replaces  unknown  characters,
	      and  "ignore",  which drops them. This setting can be overridden
	      with the --encodingmode command-line option.

       HGMERGE
	      An executable to use for resolving merge conflicts. The  program
	      will  be executed with three arguments: local file, remote file,
	      ancestor file.

	      (deprecated, use .hgrc)

       HGRCPATH
	      A list of files or directories to search for  hgrc  files.  Item
	      separator	 is  ":"  on  Unix, ";" on Windows. If HGRCPATH is not
	      set, platform default search path is used. If  empty,  only  the
	      .hg/hgrc from the current repository is read.

	      For each element in HGRCPATH:

	      · if it's a directory, all files ending with .rc are added

	      · otherwise, the file itself will be added

       HGUSER This  is	the string used as the author of a commit. If not set,
	      available values will be considered in this order:

	      · HGUSER (deprecated)

	      · hgrc files from the HGRCPATH

	      · EMAIL

	      · interactive prompt

	      · LOGNAME (with @hostname appended)

	      (deprecated, use .hgrc)

       EMAIL  May be used as the author of a commit; see HGUSER.

       LOGNAME
	      May be used as the author of a commit; see HGUSER.

       VISUAL This is the name of the editor to use when committing. See  EDI‐
	      TOR.

       EDITOR Sometimes Mercurial needs to open a text file in an editor for a
	      user to modify, for example when writing	commit	messages.  The
	      editor it uses is determined by looking at the environment vari‐
	      ables HGEDITOR, VISUAL and EDITOR,  in  that  order.  The	 first
	      non-empty	 one  is  chosen. If all of them are empty, the editor
	      defaults to 'vi'.

       PYTHONPATH
	      This is used by Python to find imported modules and may need  to
	      be  set  appropriately  if  this Mercurial is not installed sys‐
	      tem-wide.

SPECIFYING SINGLE REVISIONS
       Mercurial supports several ways to specify individual revisions.

       A plain integer is treated as a revision number. Negative integers  are
       treated	as  sequential offsets from the tip, with -1 denoting the tip,
       -2 denoting the revision prior to the tip, and so forth.

       A 40-digit hexadecimal string is treated as a unique  revision  identi‐
       fier.

       A  hexadecimal  string  less  than  40  characters long is treated as a
       unique revision identifier and is referred to as a  short-form  identi‐
       fier.  A	 short-form  identifier	 is  only valid if it is the prefix of
       exactly one full-length identifier.

       Any other string is treated as a tag or branch name. A tag  name	 is  a
       symbolic	 name  associated  with	 a  revision identifier. A branch name
       denotes the tipmost revision of that branch. Tag and branch names  must
       not contain the ":" character.

       The  reserved  name  "tip"  is a special tag that always identifies the
       most recent revision.

       The reserved name "null" indicates the null revision. This is the revi‐
       sion of an empty repository, and the parent of revision 0.

       The  reserved  name  "."	 indicates the working directory parent. If no
       working directory is checked out, it  is	 equivalent  to	 null.	If  an
       uncommitted merge is in progress, "." is the revision of the first par‐
       ent.

SPECIFYING MULTIPLE REVISIONS
       When Mercurial accepts more than one revision, they  may	 be  specified
       individually,  or  provided  as a topologically continuous range, sepa‐
       rated by the ":" character.

       The syntax of range notation is [BEGIN]:[END], where BEGIN and END  are
       revision	 identifiers. Both BEGIN and END are optional. If BEGIN is not
       specified, it defaults to revision number 0. If END is  not  specified,
       it defaults to the tip. The range ":" thus means "all revisions".

       If BEGIN is greater than END, revisions are treated in reverse order.

       A range acts as a closed interval. This means that a range of 3:5 gives
       3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.

DIFF FORMATS
       Mercurial's default format for showing changes between two versions  of
       a  file is compatible with the unified format of GNU diff, which can be
       used by GNU patch and many other standard tools.

       While this standard format is often enough, it does not encode the fol‐
       lowing information:

       · executable status and other permission bits

       · copy or rename information

       · changes in binary files

       · creation or deletion of empty files

       Mercurial also supports the extended diff format from the git VCS which
       addresses these limitations. The git diff format	 is  not  produced  by
       default	because	 a  few	 widespread tools still do not understand this
       format.

       This means that when generating diffs from a Mercurial repository (e.g.
       with  "hg export"), you should be careful about things like file copies
       and renames or other things mentioned above, because  when  applying  a
       standard	 diff  to  a  different	 repository, this extra information is
       lost. Mercurial's internal operations (like  push  and  pull)  are  not
       affected by this, because they use an internal binary format for commu‐
       nicating changes.

       To make Mercurial produce the git extended diff format, use  the	 --git
       option  available  for many commands, or set 'git = True' in the [diff]
       section of your hgrc. You do not need to set this option when importing
       diffs in this format or using them in the mq extension.

TEMPLATE USAGE
       Mercurial allows you to customize output of commands through templates.
       You can either pass in a template from the command line, via the --tem‐
       plate option, or select an existing template-style (--style).

       You  can	 customize  output  for any "log-like" command: log, outgoing,
       incoming, tip, parents, heads and glog.

       Three styles are packaged with Mercurial: default (the style used  when
       no explicit preference is passed), compact and changelog.  Usage:

       $ hg log -r1 --style changelog

       A  template  is	a piece of text, with markup to invoke variable expan‐
       sion:

       $ hg log -r1 --template "{node}\n"
       b56ce7b07c52de7d5fd79fb89701ea538af65746

       Strings in curly braces are called keywords. The availability  of  key‐
       words depends on the exact context of the templater. These keywords are
       usually available for templating a log-like command:

       author String. The unmodified author of the changeset.

       branches
	      String. The name of the branch on which the changeset  was  com‐
	      mitted. Will be empty if the branch name was default.

       date   Date information. The date when the changeset was committed.

       desc   String. The text of the changeset description.

       diffstat
	      String.  Statistics of changes with the following format: "modi‐
	      fied files: +added/-removed lines"

       files  List of strings. All files modified, added, or removed  by  this
	      changeset.

       file_adds
	      List of strings. Files added by this changeset.

       file_mods
	      List of strings. Files modified by this changeset.

       file_dels
	      List of strings. Files removed by this changeset.

       node   String.  The  changeset  identification  hash, as a 40-character
	      hexadecimal string.

       parents
	      List of strings. The parents of the changeset.

       rev    Integer. The repository-local changeset revision number.

       tags   List of strings. Any tags associated with the changeset.

       latesttag
	      String. Most recent global tag in the ancestors of this  change‐
	      set.

       latesttagdistance
	      Integer. Longest path to the latest tag.

       The  "date" keyword does not produce human-readable output. If you want
       to use a date in your output, you can use a filter to process it.  Fil‐
       ters  are  functions which return a string based on the input variable.
       You can also use a chain of filters to get the desired output:

       $ hg tip --template "{date|isodate}\n"
       2008-08-21 18:22 +0000

       List of filters:

       addbreaks
	      Any text. Add an XHTML "<br />" tag before the end of every line
	      except the last.

       age    Date.  Returns a human-readable date/time difference between the
	      given date/time and the current date/time.

       basename
	      Any text. Treats the text as a path, and returns the last compo‐
	      nent of the path after splitting by the path separator (ignoring
	      trailing separators). For example, "foo/bar/baz"	becomes	 "baz"
	      and "foo/bar//" becomes "bar".

       stripdir
	      Treat the text as path and strip a directory level, if possible.
	      For example, "foo" and "foo/bar" becomes "foo".

       date   Date. Returns a date in a Unix date format, including the	 time‐
	      zone: "Mon Sep 04 15:13:13 2006 0700".

       domain Any  text.  Finds	 the  first  string  that  looks like an email
	      address, and extracts just the domain component.	Example:  User
	      <user@example.com> becomes example.com.

       email  Any  text.  Extracts  the	 first string that looks like an email
	      address. Example:	 User  <user@example.com>  becomes  user@exam‐
	      ple.com.

       escape Any text. Replaces the special XML/XHTML characters "&", "<" and
	      ">" with XML entities.

       fill68 Any text. Wraps the text to fit in 68 columns.

       fill76 Any text. Wraps the text to fit in 76 columns.

       firstline
	      Any text. Returns the first line of text.

       nonempty
	      Any text. Returns '(none)' if the string is empty.

       hgdate Date. Returns the date as a pair of numbers: "1157407993	25200"
	      (Unix timestamp, timezone offset).

       isodate
	      Date.  Returns  the  date	 in ISO 8601 format: "2009-08-18 13:00
	      +0200".

       isodatesec
	      Date. Returns the date in ISO 8601  format,  including  seconds:
	      "2009-08-18 13:00:13 +0200". See also the rfc3339date filter.

       localdate
	      Date. Converts a date to local date.

       obfuscate
	      Any  text.  Returns the input text rendered as a sequence of XML
	      entities.

       person Any text. Returns the text before an email address.

       rfc822date
	      Date. Returns a date using the same format used in  email	 head‐
	      ers: "Tue, 18 Aug 2009 13:00:13 +0200".

       rfc3339date
	      Date. Returns a date using the Internet date format specified in
	      RFC 3339: "2009-08-18T13:00:13+02:00".

       short  Changeset hash. Returns the short form of a changeset hash, i.e.
	      a 12-byte hexadecimal string.

       shortdate
	      Date. Returns a date like "2006-09-18".

       strip  Any text. Strips all leading and trailing whitespace.

       tabindent
	      Any  text.  Returns  the	text, with every line except the first
	      starting with a tab character.

       urlescape
	      Any text. Escapes all "special" characters.  For	example,  "foo
	      bar" becomes "foo%20bar".

       user   Any text. Returns the user portion of an email address.

URL PATHS
       Valid URLs are of the form:

       local/filesystem/path[#revision]
       file://local/filesystem/path[#revision]
       http://[user[:pass]@]host[:port]/[path][#revision]
       https://[user[:pass]@]host[:port]/[path][#revision]
       ssh://[user[:pass]@]host[:port]/[path][#revision]

       Paths  in  the local filesystem can either point to Mercurial reposito‐
       ries or to bundle files (as created by  'hg  bundle'  or	 'hg  incoming
       --bundle').

       An  optional  identifier after # indicates a particular branch, tag, or
       changeset to use from the remote repository. See also  'hg  help	 revi‐
       sions'.

       Some  features,	such  as pushing to http:// and https:// URLs are only
       possible if the feature is explicitly enabled on the  remote  Mercurial
       server.

       Some notes about using SSH with Mercurial:

       · SSH  requires	an accessible shell account on the destination machine
	 and a copy of hg in the remote path or specified with as remotecmd.

       · path is relative to the remote user's home directory by default.  Use
	 an extra slash at the start of a path to specify an absolute path:

	 ssh://example.com//tmp/repository

       · Mercurial doesn't use its own compression via SSH; the right thing to
	 do is to configure it in your ~/.ssh/config, e.g.:

	 Host *.mylocalnetwork.example.com
	   Compression no
	 Host *
	   Compression yes

	 Alternatively specify "ssh -C" as your ssh command in	your  hgrc  or
	 with the --ssh command line option.

       These  URLs  can all be stored in your hgrc with path aliases under the
       [paths] section like so:

       [paths]
       alias1 = URL1
       alias2 = URL2
       ...

       You can then use the alias for any command that uses a URL (for example
       'hg pull alias1' will be treated as 'hg pull URL1').

       Two path aliases are special because they are used as defaults when you
       do not provide the URL to a command:

       default:
	      When you create a repository with hg clone,  the	clone  command
	      saves  the  location of the source repository as the new reposi‐
	      tory's 'default' path. This is then used when you omit path from
	      push- and pull-like commands (including incoming and outgoing).

       default-push:
	      The  push command will look for a path named 'default-push', and
	      prefer it over 'default' if both are defined.

USING ADDITIONAL FEATURES
       Mercurial has the ability to add new features through the use of exten‐
       sions.  Extensions  may	add new commands, add options to existing com‐
       mands, change the default behavior of commands, or implement hooks.

       Extensions are not loaded by default for a variety of reasons: they can
       increase	 startup  overhead; they may be meant for advanced usage only;
       they may provide potentially dangerous abilities (such as  letting  you
       destroy	or modify history); they might not be ready for prime time; or
       they may alter some usual behaviors of stock Mercurial. It is  thus  up
       to the user to activate extensions as needed.

       To  enable the "foo" extension, either shipped with Mercurial or in the
       Python search path, create an entry for it in your hgrc, like this:

       [extensions]
       foo =

       You may also specify the full path to an extension:

       [extensions]
       myfeature = ~/.hgext/myfeature.py

       To explicitly disable an extension enabled in an hgrc of broader scope,
       prepend its path with !:

       [extensions]
       # disabling extension bar residing in /path/to/extension/bar.py
       hgext.bar = !/path/to/extension/bar.py
       # ditto, but no path was supplied for extension baz
       hgext.baz = !

       disabled extensions:

	  acl	 hooks for controlling repository access

	  bookmarks
		 track a line of development with movable markers

	  bugzilla
		 hooks for integrating with the Bugzilla bug tracker

	  children
		 command to display child changesets

	  churn	 command to display statistics about repository history

	  color	 colorize output from some commands

	  convert
		 import revisions from foreign VCS repositories into Mercurial

	  extdiff
		 command to allow external programs to compare revisions

	  fetch	 pull, update and merge in one command

	  gpg	 commands to sign and verify changesets

	  graphlog
		 command to view revision graphs from a shell

	  hgcia	 hooks for integrating with the CIA.vc notification service

	  hgk	 browse the repository in a graphical way

	  highlight
		 syntax highlighting for hgweb (requires Pygments)

	  inotify
		 accelerate status report using Linux's inotify service

	  interhg
		 expand expressions into changelog and summaries

	  keyword
		 expand keywords in tracked files

	  mq	 manage a stack of patches

	  notify hooks for sending email notifications at commit/push time

	  pager	 browse command output with an external pager

	  parentrevspec
		 interpret suffixes to refer to ancestor revisions

	  patchbomb
		 command to send changesets as (a series of) patch emails

	  purge	 command to delete untracked files from the working directory

	  rebase command to move sets of revisions to a different ancestor

	  record commands to interactively select changes for commit/qrefresh

	  relink recreates hardlinks between repository clones

	  share	 share a common history between several working directories

	  transplant
		 command to transplant changesets from another branch

	  win32mbcs
		 allow the use of MBCS paths with problematic encodings

	  win32text
		 perform automatic newline conversion

	  zeroconf
		 discover and advertise repositories on the local network

FILES
       .hgignore

	      This  file  contains  regular  expressions  (one	per line) that
	      describe file names that should be ignored by hg.	 For  details,
	      see hgignore(5).

       .hgtags

	      This file contains changeset hash values and text tag names (one
	      of each separated by spaces) that correspond to tagged  versions
	      of the repository contents.

       /etc/mercurial/hgrc, $HOME/.hgrc, .hg/hgrc

	      This   file  contains  defaults  and  configuration.  Values  in
	      .hg/hgrc override those in $HOME/.hgrc, and these override  set‐
	      tings made in the global /etc/mercurial/hgrc configuration.  See
	      hgrc(5) for details of the contents and format of these files.

       Some commands (e.g. revert) produce backup files ending	in  .orig,  if
       the  .orig file already exists and is not tracked by Mercurial, it will
       be overwritten.

BUGS
       Probably lots, please post them to  the	mailing	 list  (see  Resources
       below) when you find them.

SEE ALSO
       hgignore(5), hgrc(5)

AUTHOR
       Written by Matt Mackall <mpm@selenic.com>

RESOURCES
       Main Web Site: http://mercurial.selenic.com/

       Source code repository: http://selenic.com/hg

       Mailing list: http://selenic.com/mailman/listinfo/mercurial

COPYING
       Copyright  (C)  2005-2009  Matt	Mackall.  Free use of this software is
       granted under the terms of the GNU General Public License version 2.

AUTHOR
       Matt Mackall <mpm@selenic.com>

       Organization: Mercurial

									 HG(1)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net