hg.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 22 Feb 2016 12:46:36 +0200
changeset 1905 fba288d59662
parent 1855 3880fb7d6d2a
child 1912 8b81a8f0f692
permissions -rw-r--r--
Include only local subsections into TOC. This prevent duplication of TOC when build single page HTML document. Also this make unnecessary CSS hack to hide document title as top level section.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1090
diff changeset
     1
.. -*- coding: utf-8; -*-
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1090
diff changeset
     2
.. include:: HEADER.rst
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
============
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
 Mercurial.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
============
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1855
diff changeset
     8
   :local:
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
About.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
======
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
  http://mercurial.selenic.com/wiki/ProjectsUsingMercurial
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
                Some Projects that Use Mercurial
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
User config.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
============
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
Put to your ~/.hgrc::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
  [ui]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
  ; Editor for editing commit message.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
  editor = gvim
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
  ; Who commit.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
  username = Oleksandr Gavenko <gavenkoa@gmail.com>
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
  ; Use internal merge algorithm, which mark conflict like <<<<<< ====== >>>>>>.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
  ; Save previous file version in '*.orig' file, after merge must be marked as
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
  ; resolved by running 'hg resolve -m <file>'.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
  merge = internal:merge
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
  [web]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
  ; Default encoding for file hosted by 'hg serv'.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
  encoding = utf-8
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
Multiline log message for log command.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
--------------------------------------
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
By default 'hg log' show only first line of log message. To see all message
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
run::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
  $ hg log -v
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
or put into ~/.hgrc::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
  [defaults]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
  log = -v
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
Follow history ever when file copied.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    48
-------------------------------------
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    49
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
By default 'hg log' show only history after last file copy. To see log message
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
before copying run::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
  $ hg log -f
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
or put into ~/.hgrc::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
  [defaults]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    58
  log = -f
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    59
1659
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
    60
Show supported/loaded plugin.
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
    61
=============================
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
    62
::
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
    63
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
    64
  $ hg help extensions
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
    65
  $ hg showconfig extensions
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
    66
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
Useful extension.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
=================
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
Put to your ~/.hgrc:
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
  [extensions]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
  ; To allow 'fetch' command.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
  hgext.fetch =
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
  ; To allow Mercurial Queues.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
  hgext.mq =
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
  ; To import revisions from foreign VCS repositories into Mercurial.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
  hgext.convert =
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
  ; Usage:  hg glog <dir>
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
  hgext.graphlog =
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
  ; Enable '.hgeol' tracking (fix for CR/LF).
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
  hgext.eol =
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
1647
107b566e7a12 Show diff against 2 parents or base during merge.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1646
diff changeset
    84
Show diff against 2 parents or base during merge.
107b566e7a12 Show diff against 2 parents or base during merge.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1646
diff changeset
    85
=================================================
107b566e7a12 Show diff against 2 parents or base during merge.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1646
diff changeset
    86
::
107b566e7a12 Show diff against 2 parents or base during merge.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1646
diff changeset
    87
107b566e7a12 Show diff against 2 parents or base during merge.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1646
diff changeset
    88
  hg diff -r 'p1()'
107b566e7a12 Show diff against 2 parents or base during merge.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1646
diff changeset
    89
  hg diff -r 'p2()'
107b566e7a12 Show diff against 2 parents or base during merge.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1646
diff changeset
    90
  hg diff -r 'ancestor(p1(), p2())'
107b566e7a12 Show diff against 2 parents or base during merge.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1646
diff changeset
    91
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
Downgrade repository format.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    93
============================
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    94
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
To get list of supported repo formats type::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    96
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    97
  $ hg help config
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    98
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    99
and look for "format" section. To be Mercurial 0.9.4 compatible use::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   100
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   101
  $ hg clone -U --pull \
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   102
    --config format.usefncache=0 --config format.dotencode=0 $oldr $newr
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   103
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   104
Clone specific branches.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   105
========================
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   106
::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   107
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   108
  $ hg clone http://your/repo -r $branch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   109
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   110
Closing branches.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   111
=================
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   112
::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   113
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   114
  $ hg branches
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   115
  $branch (inactive)
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   116
  ...
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   117
  $ hg branches -a
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   118
  ...                     # no $branch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   119
  $ hg up -r $branch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   120
  $ hg ci --close-branch -m "Bla-bla-bla"
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   121
  $ hg up -r default
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   122
  $ hg branches
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   123
  ...                     # no $branch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   124
  $ hg branches -c
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   125
  $branch (inactive)
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   126
  ...
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   127
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   128
To reopen closed branch just update to it and commit anything!
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   129
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   130
Remove/rename files history from repo.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   131
======================================
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   132
::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   133
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   134
  $ cat >filemap.txt <<EOF
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   135
  exclude path/to/file-or-dir
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   136
  rename path/to/source path/to/destination
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   137
  ...
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   138
  EOF
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   139
  $ hg convert --filemap filemap.txt $repo_orig $repo_new
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   140
  $ hg -R $repo_new up
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   141
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   142
See:
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   143
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   144
  http://mercurial.selenic.com/wiki/ConvertExtension
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   145
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   146
Fix branch names.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   147
-----------------
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   148
::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   149
1645
7fb7a32336a2 Fix spelling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1605
diff changeset
   150
  $ hg convert --branchmap $branchmapfile oldrepo newrepo
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   151
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   152
To convert non-ASCII names use UTF-8 coding for 'branchmap' file.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   153
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   154
When converted names with spaces only last space in 'branchmap' file treat as
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   155
separator between old branch name and new, so new branch name can not contain
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   156
spaces.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   157
1645
7fb7a32336a2 Fix spelling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1605
diff changeset
   158
Joining history of two repos.
7fb7a32336a2 Fix spelling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1605
diff changeset
   159
=============================
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   160
::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   161
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   162
  $ cat >filemap1.txt <<EOF
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   163
  rename . dir1
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   164
  EOF
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   165
  $ cat >filemap2.txt <<EOF
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   166
  rename . dir2
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   167
  EOF
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   168
  $ hg convert --filemap filemap1.txt $repo1 $repo_new
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   169
  $ hg convert --filemap filemap2.txt $repo2 $repo_new
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   170
  $ hg -R $repo_new merge
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   171
  $ hg -R $repo_new ci -m "Join $repo1 and $repo2."
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   172
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   173
Publishing repo.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   174
================
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   175
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   176
With static HTTP hosting you can copy via rsync, ftp, scp, etc., so long as all
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   177
the files beneath .hg are copied. Also since 1.1 pull protocol can detect static
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   178
HTTP hosting::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   179
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   180
  $ hg clone http://example.com/project
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   181
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   182
See:
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   183
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   184
  http://mercurial.selenic.com/wiki/hgserve
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   185
  http://mercurial.selenic.com/wiki/HgWebDirStepByStep
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   186
  http://mercurial.selenic.com/wiki/StaticHTTP
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   187
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   188
hgweb.config.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   189
-------------
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   190
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   191
Set allowed project by specifying paths to they (keys are URL, values are fs
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   192
paths)::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   193
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   194
  [paths]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   195
  myproject = /home/user/hg/myproject
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   196
  otherproject = /home/user/hg/otherproject
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   197
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   198
You can use single wildcard '*' to search current subdirs or double wildcard
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   199
'**' to search subdirs recursively::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   200
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   201
  [paths]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   202
  myproject = /home/user/hg/my/*
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   203
  otherproject = /home/user/hg/other/**
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   204
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   205
Alternatively you can set a collection of repos (keys and values are both
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   206
filesystem paths, keys should be prefixes of the values and are "subtracted"
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   207
from the values in order to generate the URL paths to each repository)::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   208
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   209
  [collections]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   210
  /home/user/hg = /home/user/hg
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   211
  /home/another/hg = /home/another/hg
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   212
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   213
Allow archive downloads::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   214
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   215
  [web]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   216
  allow_archive = gz, zip, bz2
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   217
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   218
Make web page look nice::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   219
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   220
  [web]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   221
  # Use 'cd /lib/python2.x/site-packages/mercurial/templates; find . -type d' to see available
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   222
  # styles. Some interesting: gitweb, coal, monoblue.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   223
  style = gitweb
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   224
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   225
Set another settings::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   226
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   227
  [web]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   228
  encoding = UTF-8
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   229
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   230
  maxchanges = 100
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   231
  maxfiles = 100
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   232
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   233
In each $proj/.hg/hgrc put::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   234
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   235
  [web]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   236
  contact = ADMIN <admin@example.com>
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   237
  description = <p style="color: red;">$proj</b> allow make a <a href="http://example.com">BIG Thing.</a>
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   238
  # Do not use name, in this case you see dir name where project lcated.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   239
  # name = $proj
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   240
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   241
To allow push in 'hg serv'::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   242
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   243
  [web]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   244
  allow_push = *
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   245
  push_ssl = false
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   246
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   247
See:
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   248
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   249
  http://mercurial.selenic.com/wiki/PublishingRepositories
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   250
                Publishing Mercurial Repositories
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   251
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   252
init.d script.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   253
--------------
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   254
::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   255
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   256
  #!/bin/sh
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   257
  CMD=/usr/bin/hg
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   258
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   259
  PORT=7878
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   260
  SRC=/srv/hg
1645
7fb7a32336a2 Fix spelling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1605
diff changeset
   261
  CONFIG=/srv/hg/hgweb.config
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   262
  PIDFILE=/var/run/hg.pid
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   263
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   264
  case "$1" in
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   265
  start)
1645
7fb7a32336a2 Fix spelling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1605
diff changeset
   266
    echo "Mercurial Server service starting."
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   267
    (cd "$SRC"; $CMD serve -d -p $PORT --pid-file "$PIDFILE")
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   268
    ;;
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   269
  stop)
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   270
    if [ -f "$PIDFILE" ]; then
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   271
      PID=`cat "$PIDFILE"`
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   272
      if [ "$PID" -gt 1 ]; then
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   273
        kill -TERM $PID
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   274
        echo "Stopping the Mercurial service PID=$PID."
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   275
      else
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   276
        echo Bad PID for Mercurial -- \"$PID\".
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   277
        echo You may remove \"$PIDFILE\" manually.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   278
      fi
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   279
    else
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   280
      echo No PID file recorded for mercurial.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   281
    fi
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   282
    ;;
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   283
  *)
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   284
    echo "$0 {start|stop}"
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   285
    exit 1
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   286
    ;;
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   287
  esac
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   288
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   289
See:
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   290
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   291
  http://mercurial.selenic.com/wiki/hgserve
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   292
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   293
Manage patches with MQ.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   294
=======================
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   295
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   296
First enable MQ, add following to your ~/.hgrc::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   297
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   298
  [extensions]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   299
  hgext.mq =
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   300
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   301
Second get unpatched sources and put it to hg repository::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   302
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   303
  $ tar zxf proj-x.y.z.tar.gz
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   304
  $ mv proj-x.y.z proj
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   305
  $ cd proj
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   306
  $ hg init
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   307
  $ hg ci -m "Added x.y.z version of proj."
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   308
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   309
Init MQ and take name for first patch::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   310
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   311
  $ hg qinit
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   312
  $ hg qnew first.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   313
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   314
Next make changes by editing source and save it to patch::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   315
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   316
  $ $EDITOR file.c
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   317
  ...
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   318
  $ hg diff
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   319
  ...
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   320
  $ hg qrefresh
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   321
  $ hg diff      # <-- have zero diff
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   322
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   323
You can make second patch by applying existing one::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   324
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   325
  $ hg qnew second.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   326
  $ patch -p1 <bugfix.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   327
  $ hg qrefresh
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   328
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   329
You can take list of patches (from old to new) and revert or apply patches by
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   330
qpop/qpush command::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   331
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   332
  $ hg qseries   # <-- what patches have
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   333
  first.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   334
  second.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   335
  $ hg qapplied  # <-- what patches applied
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   336
  first.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   337
  second.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   338
  $ hg qpop
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   339
  $ hg qseries
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   340
  first.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   341
  second.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   342
  $ hg qapplied
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   343
  first.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   344
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   345
You can revert or apply all patches by single command::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   346
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   347
  $ hg qpop -a
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   348
  $ hg qpush -a
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   349
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   350
You can delete patch from patch list (before that you need de-apply patch)::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   351
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   352
  $ hg qpop -a
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   353
  $ hg qdelete first.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   354
1645
7fb7a32336a2 Fix spelling.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1605
diff changeset
   355
To add new version of source and fix patches for it first de-apply patches,
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   356
then pull new changes and try apply patches on top of new sources::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   357
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   358
  $ hg qpop -a
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   359
  $ rm *       # .hg dir not deleted because its name start with dot
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   360
  $ cd ..
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   361
  $ tar zxf proj-a.b.c.tar.gz
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   362
  $ cp -R proj-a.b.c/* proj
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   363
  $ cd proj
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   364
  $ hg addremove -s 70
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   365
  $ hg ci -m "Added a.b.c version of proj."
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   366
  $ hg qpush -a
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   367
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   368
To apply series of already done patches use::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   369
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   370
  $ ls /path/to/bugfixes/*.patch | xargs hg qimport
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   371
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   372
You can fix patch description message from command line::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   373
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   374
  $ hg qser -s
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   375
  makefile-doc.patch:
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   376
  $ hg qpush
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   377
  applying makefile-doc.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   378
  now at: makefile-doc.patch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   379
  $ hg qref -m 'Add description about Makefile usage.'
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   380
  $ hg qser -s
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   381
  makefile-doc.patch: Add description about Makefile usage.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   382
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   383
or from editor by::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   384
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   385
  $ hg qref -e
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   386
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   387
Remove all patches from MQ.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   388
===========================
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   389
::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   390
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   391
  $ hg qpop -a
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   392
  $ for patch in `hg qser`; do hg qrm $patch; done
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   393
1668
86a2cb376ee9 Moving changes from MQ to working tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1667
diff changeset
   394
Moving changes from MQ to working tree.
86a2cb376ee9 Moving changes from MQ to working tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1667
diff changeset
   395
=======================================
86a2cb376ee9 Moving changes from MQ to working tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1667
diff changeset
   396
::
86a2cb376ee9 Moving changes from MQ to working tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1667
diff changeset
   397
86a2cb376ee9 Moving changes from MQ to working tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1667
diff changeset
   398
  $ hg qpop my.patch
86a2cb376ee9 Moving changes from MQ to working tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1667
diff changeset
   399
  $ hg qdel --keep my.patch
86a2cb376ee9 Moving changes from MQ to working tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1667
diff changeset
   400
  $ patch -p1 .hg/patches/my.patch
86a2cb376ee9 Moving changes from MQ to working tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1667
diff changeset
   401
  $ rm .hg/patches/my.patch
86a2cb376ee9 Moving changes from MQ to working tree.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1667
diff changeset
   402
1667
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   403
Split patch in MQ.
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   404
==================
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   405
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   406
Enable built-in extensions::
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   407
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   408
  [extensions]
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   409
  mq=
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   410
  record=
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   411
  shelve=
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   412
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   413
Then move MQ into working tree and split changes and remove original patch::
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   414
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   415
  $ hg qpop my.patch
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   416
  $ patch -p1 <.hg/patches/my.patch
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   417
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   418
  $ hg qnew -i my1.patch
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   419
   ....
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   420
  $ hg qnew -i my2.patch
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   421
   ....
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   422
  $ hg qnew myN.patch   # last without interactive stuff
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   423
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   424
  $ hg qdelete --keep my.patch
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   425
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   426
Between ``my$i.patch`` and ``my$((i+1)).patch`` you can use ``hg shelve``/``hg
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   427
unshelve`` to test if project built and pass tests on top of ``my$i.patch``
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   428
without later changes!
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   429
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   430
If you find that something missing on this stage use ``hg qref`` on shelved
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   431
changes or ``hg qref -i`` on unshelved changes!
40bb400c925e Split patch in MQ.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1660
diff changeset
   432
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   433
Proxy.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   434
======
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   435
::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   436
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   437
  $ hg clone --config http_proxy.host=$host:$port \
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   438
    --config http_proxy.user=$user --config http_proxy.passwd=$password  $addr
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   439
1605
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   440
Shelve/stash uncommitted changes.
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   441
=================================
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   442
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   443
Enable ``shelve`` extension::
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   444
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   445
  [extensions]
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   446
  shelve=
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   447
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   448
and::
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   449
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   450
  $ hg shelve
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   451
  $ hg fetch
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   452
  $ hg unshelve
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   453
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   454
Or use MQ::
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   455
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   456
  $ hg qnew tmp.patch
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   457
  $ hg qpop
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   458
  $ hg fetch
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   459
  $ hg qpush
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   460
41ef0417d899 Shelve/stash uncommitted changes. shelve extension.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   461
Or with plain patch::
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   462
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   463
  $ hg diff > .diff   # save local changes
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   464
  $ hg revert -a
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   465
  $ hg fetch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   466
  $ patch -p1 <.diff
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   467
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   468
See:
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   469
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   470
  http://mercurial.selenic.com/wiki/TipsAndTricks#Merge_or_rebase_with_uncommitted_changes
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   471
  http://mercurial.selenic.com/wiki/ShelveExtension
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   472
1659
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
   473
Rebase.
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
   474
=======
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
   475
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
   476
SVN like update::
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
   477
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
   478
  $ hg pull --rebase
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
   479
1688
5493b5425eba limit merge only to current branch
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1668
diff changeset
   480
Rebase draft (unpublished) changes over public changes if one one head::
1659
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
   481
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
   482
  $ hg rebase -s 'draft()' -d 'public()'
1660
71e627dc8b8c it possible that you isn't on a tip
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1659
diff changeset
   483
  $ hg up  # it possible that you isn't on a tip
1659
7dc153b728f7 Rebase draft (unpublished) changes over public changes.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1647
diff changeset
   484
1688
5493b5425eba limit merge only to current branch
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1668
diff changeset
   485
If you want to limit merge only to current branch::
5493b5425eba limit merge only to current branch
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1668
diff changeset
   486
5493b5425eba limit merge only to current branch
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1668
diff changeset
   487
  $ hg rebase -s 'draft() & branch(.)' -d 'public() & branch(.)'
5493b5425eba limit merge only to current branch
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1668
diff changeset
   488
1024
dd94730a04f4 Fix section name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1023
diff changeset
   489
Find greatest common ancestor of changesets.
dd94730a04f4 Fix section name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1023
diff changeset
   490
============================================
1090
d362fd4a1995 Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1088
diff changeset
   491
::
1023
d8c88154a28f Find greatest common ancestor of the two changesets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1001
diff changeset
   492
d8c88154a28f Find greatest common ancestor of the two changesets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1001
diff changeset
   493
  $ hg help revsets
d8c88154a28f Find greatest common ancestor of the two changesets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1001
diff changeset
   494
  $ hg log -r "ancestor($rev1,$rev2)"
d8c88154a28f Find greatest common ancestor of the two changesets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1001
diff changeset
   495
  $ hg log -r "ancestor($rev1,ancestor($rev2,$rev3))"
d8c88154a28f Find greatest common ancestor of the two changesets.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1001
diff changeset
   496
1088
90fc62d6693e Find most recent tag for revision.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
   497
Find most recent tag for revision.
90fc62d6693e Find most recent tag for revision.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
   498
==================================
90fc62d6693e Find most recent tag for revision.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
   499
::
90fc62d6693e Find most recent tag for revision.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
   500
90fc62d6693e Find most recent tag for revision.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
   501
  $ hg log -r "sort(tag() and ancestors($REV),-date)"
90fc62d6693e Find most recent tag for revision.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
   502
  $ hg log -r $REV --template "{latesttag}-{latesttagdistance}-{node|short}\n"
90fc62d6693e Find most recent tag for revision.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
   503
1855
3880fb7d6d2a Author statistic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1688
diff changeset
   504
Author statistic.
3880fb7d6d2a Author statistic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1688
diff changeset
   505
=================
3880fb7d6d2a Author statistic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1688
diff changeset
   506
3880fb7d6d2a Author statistic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1688
diff changeset
   507
Ecanle extention ``churn`` and run::
3880fb7d6d2a Author statistic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1688
diff changeset
   508
3880fb7d6d2a Author statistic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1688
diff changeset
   509
  $ hg churn
3880fb7d6d2a Author statistic.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1688
diff changeset
   510
1001
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   511
Hooks.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   512
======
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   513
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   514
Check for bad branch names.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   515
---------------------------
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   516
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   517
.hg/hgcheck.py::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   518
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   519
  import re
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   520
  goodbranch_re = r'((bug|feature)#\d|release-1\.\d\.\d|default)$'
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   521
  def precommit_badbranchname(ui, repo, hooktype, **kwargs):
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   522
      ui.warn('"%s" hook failed\n' % hooktype)
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   523
      for rev in repo:
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   524
          branch = repo[rev].branch()
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   525
          re_ = re.compile(goodbranch_re)
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   526
          if not re_.match(branch):
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   527
              ui.warn('Invalid branch name "%s".\nUse one of default, bug#ID, feature#ID or release-1.XX.XX.\n' % branch)
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   528
              return True
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   529
      return False
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   530
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   531
.hg/hgrc::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   532
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   533
  [hooks]
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   534
  precommit.badbranchname = python:.hg/hgcheck.py:precommit_badbranchname
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   535
  # precommit.gg = python:my.hgcheck.py.precommit_badbranch
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   536
  prechangegroup.badbranchname = python:.hg/hgcheck.py:precommit_badbranchname
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   537
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   538
Read more:
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   539
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   540
  http://mercurial.selenic.com/wiki/HookExamples
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   541
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   542
Ignore patterns.
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   543
----------------
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   544
::
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   545
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   546
  $ cat $proj/.hgignore
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   547
  syntax: glob
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   548
  *.o
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   549
  .obj
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   550
  *.exe
4dd76ea12a6d Downgrade repository format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   551
1646
fdd6045a5563 Reorder sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1645
diff changeset
   552
Free Mercurial hosting.
fdd6045a5563 Reorder sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1645
diff changeset
   553
=======================
fdd6045a5563 Reorder sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1645
diff changeset
   554
fdd6045a5563 Reorder sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1645
diff changeset
   555
  http://mercurial.selenic.com/wiki/MercurialHosting
fdd6045a5563 Reorder sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1645
diff changeset
   556
                Free Hosting of Mercurial Repositories
fdd6045a5563 Reorder sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1645
diff changeset
   557