annotate docs/evolve-faq.rst @ 492:7ecd41520dae

rename `stabilize` to `evolve` stabilize keep being valide but as Matt still like "Changeset Evolution" as a name evolve make more sense. Stabilize is a bit too tight to unstable too.
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Fri, 24 Aug 2012 11:17:18 +0200
parents d702f0d26c6a
children 4387e62bd4f4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
1
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
2 ---------------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
3 Evolve How To
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
4 ---------------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
5
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
6
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
7
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
8 Add a changeset: ``commit``
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
9 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
10
179
bc6460f61c64 docs: fix typos in the FAQ
Arne Babenhauserheide <bab@draketo.de>
parents: 177
diff changeset
11 Just use commit as usual. New changesets will be in the `draft` phase.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
12
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
13 Rewrite a changeset: ``amend``
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
14 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
15
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
16 A new command ``hg amend`` is added by the extension. It writes a new
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
17 changeset combining working-directory parent changes and parent. It
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
18 will work on any `draft` or `secret` changeset. It will not work on
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
19 `public` changesets.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
20
177
9ca70b3ee42c docs: typo
Arne Babenhauserheide <bab@draketo.de>
parents: 169
diff changeset
21 To understand what the result of amend will be I use the two following
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
22 aliases [#]_::
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
23
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
24 # diff what amend will look likes
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
25 pdiff=diff --rev .^
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
26
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
27 # status what amend will look likes
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
28 pstatus=status --rev .^
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
29
169
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
30 It takes various options to pick an author, a date and the branch of the
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
31 result... (see ``hg help amend`` for details).
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
32
169
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
33 This command can even be invoked on changesets with children (provided
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
34 none is public) !
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
35
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
36 .. note:: the amend command is very similar to mq's ``qrefresh``, a ``refresh``
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
37 alias for amend is also available. But note that contrary to
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
38 ``qrefresh``, ``amend`` does not exclude changes on file not specified
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
39 on the command line.
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
40
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
41 XXX add idank example
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
42
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
43
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
44 .. [#] (added by enable.sh)
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
45
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
46
169
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
47
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
48 Move a changeset: ``graft``
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
49 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
50
169
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
51 The graft command introduced in 2.0 allows to "copy changes from other
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
52 branches onto the current branch".
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
53
169
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
54 The graft command has been altered to allow the creation of an
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
55 obsolete marker indicating both the result cset and its source
169
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
56 (actually recording changeset movements).
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
57
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
58 This is achieved using a new flag `-O` (or `old-obsolete`) [#]_.
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
59
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
60
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
61 XXX example
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
62
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
63 .. warning:: when using graft --continue after conflict resolution you **MUST**
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
64 pass `-O` or `-o` flag again because they are not saved for now
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
65
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
66
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
67 .. [#] add this `-O` to graft instead of a dedicated command is probably
179
bc6460f61c64 docs: fix typos in the FAQ
Arne Babenhauserheide <bab@draketo.de>
parents: 177
diff changeset
68 abusive. But this was very convenient for experimental purposes.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
69 This will likely change in non experimental release.
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
70
365
9f6a77ec66cb evolve: switch the official name for "kill" to prune
Pierre-Yves.David@ens-lyon.org
parents: 357
diff changeset
71 Delete a changeset: ``prune``
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
72 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
73
365
9f6a77ec66cb evolve: switch the official name for "kill" to prune
Pierre-Yves.David@ens-lyon.org
parents: 357
diff changeset
74 A new ``prune`` command allows removing a changeset.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
75
365
9f6a77ec66cb evolve: switch the official name for "kill" to prune
Pierre-Yves.David@ens-lyon.org
parents: 357
diff changeset
76 Just use ``hg prune <some-rev>``.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
77
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
78 Moving within the history: ``up`` ``gdown`` and ``gup``
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
79 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
80
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
81 While working on mutable part of the history you often need to move between
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
82 mutable commit.
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
83
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
84 You just need to use standard update to work with evolve. For convenience, you
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
85 can use ``hg gup`` to move to children commit or ``hg gdown`` to move to working
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
86 directory parent commit.
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
87
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
88 .. note:: those command only exist for the convenience of getting qpush and qpop
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
89 feeling back.
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
90
179
bc6460f61c64 docs: fix typos in the FAQ
Arne Babenhauserheide <bab@draketo.de>
parents: 177
diff changeset
91 Collapse changesets: ``amend``
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
92 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
93
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
94 you can use amend -c to collapse multiple changeset in a single one.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
95
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
96 Getting changes out of a commit
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
97 ------------------------------------------------------------
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
98
347
631cdf4295bc docs: improve recent updates
Patrick Mezard <patrick@mezard.eu>
parents: 325
diff changeset
99 The ``hg uncommit`` command lets you rewrite the parent commit without
631cdf4295bc docs: improve recent updates
Patrick Mezard <patrick@mezard.eu>
parents: 325
diff changeset
100 selected changed files. Target files content is not altered and
631cdf4295bc docs: improve recent updates
Patrick Mezard <patrick@mezard.eu>
parents: 325
diff changeset
101 appears again as "modified"::
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
102
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
103 $ hg st
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
104 M babar
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
105 M celestine
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
106 $ hg commit babar celestine
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
107 $ hg st
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
108 $ hg uncommit celestine
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
109 $ hg status
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
110 M celestine
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
111
199
4bb038229f26 FAQ: typos
David Douard <david.douard@logilab.fr>
parents: 198
diff changeset
112 Split a changeset
180
4379ffd6d293 docs: added a question: split changesets?
Arne Babenhauserheide <bab@draketo.de>
parents: 179
diff changeset
113 -----------------------
4379ffd6d293 docs: added a question: split changesets?
Arne Babenhauserheide <bab@draketo.de>
parents: 179
diff changeset
114
347
631cdf4295bc docs: improve recent updates
Patrick Mezard <patrick@mezard.eu>
parents: 325
diff changeset
115 To split on file boundaries, just use ``uncommit`` command.
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
116
357
b398e9c2dbd1 doc: English proofreading
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 325
diff changeset
117 If you need fine-grained split, there is no official command for that yet.
b398e9c2dbd1 doc: English proofreading
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 325
diff changeset
118 However, it is easily achieved by manual operation::
188
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
119
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
120 ### you want to split changeset A: 42
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
121 # update to A parent
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
122 $ hg up 42^
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
123 # restore content from A
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
124 $ hg revert -r 42 --all
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
125 # partially commit the first part
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
126 $ hg record
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
127 # commit the second part
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
128 $ hg commit
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
129 # informs mercurial of what appened
198
384dd4b11b27 FAQ: small typo
David Douard <david.douard@logilab.fr>
parents: 188
diff changeset
130 # current changeset (.) and previous one (.^) replace A (42)
365
9f6a77ec66cb evolve: switch the official name for "kill" to prune
Pierre-Yves.David@ens-lyon.org
parents: 357
diff changeset
131 $ hg prune --new . --new .^ 42
188
627dde054cd0 add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 180
diff changeset
132
180
4379ffd6d293 docs: added a question: split changesets?
Arne Babenhauserheide <bab@draketo.de>
parents: 179
diff changeset
133
200
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
134 Update my current work in progess after a pull
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
135 ----------------------------------------------
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
136
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
137 Whenever you are working on some changesets, it is more likely that a pull
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
138 will, eventually, import new changesets in your tree.
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
139
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
140 And it is likely that you will want your work in progress changsets to be
200
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
141 rebased on the top of this newly imported subtree.
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
142
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
143 Doing so is only a matter of rebasing.
200
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
144
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
145
4df233db5d42 FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents: 199
diff changeset
146
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
147 Move multiple changesets: ``rebase``
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
148 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
149
179
bc6460f61c64 docs: fix typos in the FAQ
Arne Babenhauserheide <bab@draketo.de>
parents: 177
diff changeset
150 You can still use rebase to move a whole segment of the changeset graph together.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
151
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
152 .. warning:: Beware that rebasing obsolete changesets will result in
179
bc6460f61c64 docs: fix typos in the FAQ
Arne Babenhauserheide <bab@draketo.de>
parents: 177
diff changeset
153 conflicting versions of the changesets.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
154
492
7ecd41520dae rename `stabilize` to `evolve`
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 441
diff changeset
155 Stabilize history: ``evolve``
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
156 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
157
169
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
158 When you rewrite (amend) a changeset with children without rewriting
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
159 those children you create *unstable* changesets and *suspended
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
160 obsolete* changesets.
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
161
179
bc6460f61c64 docs: fix typos in the FAQ
Arne Babenhauserheide <bab@draketo.de>
parents: 177
diff changeset
162 When you are finished amending a given changeset, you will want to
169
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
163 declare it stable, in other words rebase its former descendants on its
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
164 newest version. This is not done automatically to avoid the
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
165 proliferation of useless hidden changesets.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
166
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
167
365
9f6a77ec66cb evolve: switch the official name for "kill" to prune
Pierre-Yves.David@ens-lyon.org
parents: 357
diff changeset
168 Fix my history afterward: ``prune -n``
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
169 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
170
169
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
171 Sometimes you need to create an obsolete marker by hand. This may happen when
179
bc6460f61c64 docs: fix typos in the FAQ
Arne Babenhauserheide <bab@draketo.de>
parents: 177
diff changeset
172 upstream has applied some of your patches for example.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
173
365
9f6a77ec66cb evolve: switch the official name for "kill" to prune
Pierre-Yves.David@ens-lyon.org
parents: 357
diff changeset
174 you can use ``hg prune --new <new-changeset> <old-changeset>`` to add obsolete
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
175 marker.
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
176
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
177 Export to mq: ``synchronize``
169
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
178 ------------------------------------------------------------
06c942f9bac6 auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 161
diff changeset
179
357
b398e9c2dbd1 doc: English proofreading
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 325
diff changeset
180 Another extension allows to export your changes to mq.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
181
199
4bb038229f26 FAQ: typos
David Douard <david.douard@logilab.fr>
parents: 198
diff changeset
182 View diff from the last amend
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
183 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
184
199
4bb038229f26 FAQ: typos
David Douard <david.douard@logilab.fr>
parents: 198
diff changeset
185 An ``odiff`` alias have been added by ``enable.sh``
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
186
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
187 ::
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
188 [alias]
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
189 odiff = diff --rev 'limit(precursors(.),1)' --rev .
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
190
199
4bb038229f26 FAQ: typos
David Douard <david.douard@logilab.fr>
parents: 198
diff changeset
191 View obsolete markers
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
192 ------------------------------------------------------------
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
193
199
4bb038229f26 FAQ: typos
David Douard <david.douard@logilab.fr>
parents: 198
diff changeset
194 hgview is the only viewer that support this feature. You need an experimental
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
195 version available here:
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
196
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
197 $ hg clone http://hg-dev.octopoid.net/hgwebdir.cgi/hgview/
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
198
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
199 You can also use a debug command
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
200
441
d702f0d26c6a obsolete: remove debugsuccessors
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 367
diff changeset
201 $ hg debugobsolete
325
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
202 5eb72dbe0cb4 e8db4aa611f6
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
203 c4cbebac3751 4f1c269eab68
43a686709ded doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 228
diff changeset
204
199
4bb038229f26 FAQ: typos
David Douard <david.douard@logilab.fr>
parents: 198
diff changeset
205
4bb038229f26 FAQ: typos
David Douard <david.douard@logilab.fr>
parents: 198
diff changeset
206
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
207 Important Note
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
208 =====================================================================
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
209
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
210 View change to your file
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
211 ------------------------------------------------------------
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
212
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
213 Extinct changesets are hidden using the *hidden* feature of mercurial.
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
214
347
631cdf4295bc docs: improve recent updates
Patrick Mezard <patrick@mezard.eu>
parents: 325
diff changeset
215 Only ``hg log``, ``hg glog`` and ``hgview`` support it, other
631cdf4295bc docs: improve recent updates
Patrick Mezard <patrick@mezard.eu>
parents: 325
diff changeset
216 graphical viewer do not.
161
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
217
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
218
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
219
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
220
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
221
4e3f25ba5401 More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
222
228
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
223
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
224
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
225
5a17c0d41a00 proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 227
diff changeset
226