author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
Wed, 11 Jul 2012 12:38:05 +0200 | |
branch | stable |
changeset 354 | bd26eb9714fb |
parent 325 | 43a686709ded |
child 347 | 631cdf4295bc |
child 357 | b398e9c2dbd1 |
permissions | -rw-r--r-- |
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 | 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 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
71 |
Delete a changeset: ``kill`` |
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 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
74 |
A new ``kill`` 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 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
76 |
Just use ``hg kill <some-rev>``. |
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 |
|
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
99 |
the ``hg uncommit`` commands allow you to rewrite the current commit to not |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
100 |
include change for some file. The content of target files are not altered on |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
101 |
disk and back as "modified":: |
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 | 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 |
|
325
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
115 |
I you just want to split whole file, you can just use the ``uncommit`` command. |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
116 |
|
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
117 |
|
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
118 |
If you need fine grained split, there is no official command for that yet. |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
119 |
However is it easily achieved by manual operation:: |
188
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
120 |
|
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
121 |
### you want to split changeset A: 42 |
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
122 |
# update to A parent |
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
123 |
$ hg up 42^ |
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
124 |
# restore content from A |
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
125 |
$ hg revert -r 42 --all |
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
126 |
# partially commit the first part |
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
127 |
$ hg record |
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
128 |
# commit the second part |
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
129 |
$ hg commit |
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
130 |
# informs mercurial of what appened |
198 | 131 |
# current changeset (.) and previous one (.^) replace A (42) |
188
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
132 |
$ hg kill --new . --new .^ 42 |
627dde054cd0
add split example
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
180
diff
changeset
|
133 |
|
180
4379ffd6d293
docs: added a question: split changesets?
Arne Babenhauserheide <bab@draketo.de>
parents:
179
diff
changeset
|
134 |
|
200
4df233db5d42
FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents:
199
diff
changeset
|
135 |
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
|
136 |
---------------------------------------------- |
4df233db5d42
FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents:
199
diff
changeset
|
137 |
|
4df233db5d42
FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents:
199
diff
changeset
|
138 |
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
|
139 |
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
|
140 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
141 |
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
|
142 |
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
|
143 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
144 |
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
|
145 |
|
4df233db5d42
FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents:
199
diff
changeset
|
146 |
|
4df233db5d42
FAQ: add en entry about rebasing after a pull
David Douard <david.douard@logilab.fr>
parents:
199
diff
changeset
|
147 |
|
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
148 |
Move multiple changesets: ``rebase`` |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
149 |
------------------------------------------------------------ |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
150 |
|
179
bc6460f61c64
docs: fix typos in the FAQ
Arne Babenhauserheide <bab@draketo.de>
parents:
177
diff
changeset
|
151 |
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
|
152 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
153 |
.. 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
|
154 |
conflicting versions of the changesets. |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
155 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
156 |
Stabilize history: ``stabilize`` |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
157 |
------------------------------------------------------------ |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
158 |
|
169
06c942f9bac6
auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
161
diff
changeset
|
159 |
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
|
160 |
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
|
161 |
obsolete* changesets. |
06c942f9bac6
auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
161
diff
changeset
|
162 |
|
179
bc6460f61c64
docs: fix typos in the FAQ
Arne Babenhauserheide <bab@draketo.de>
parents:
177
diff
changeset
|
163 |
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
|
164 |
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
|
165 |
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
|
166 |
proliferation of useless hidden changesets. |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
167 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
168 |
.. warning:: ``hg stabilize`` have no --continue to use after conflict |
169
06c942f9bac6
auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
161
diff
changeset
|
169 |
resolution |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
170 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
171 |
.. warning:: stabilization does not handle deletion yet. |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
172 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
173 |
.. warning:: obsolete currently relies on changesets in secret phase |
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
174 |
to avoid exchanging obsolete and unstable changesets. |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
175 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
176 |
XXX details issue here |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
177 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
178 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
179 |
Fix my history afterward: ``kill -n`` |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
180 |
------------------------------------------------------------ |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
181 |
|
169
06c942f9bac6
auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
161
diff
changeset
|
182 |
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
|
183 |
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
|
184 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
185 |
you can use ``hg kill --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
|
186 |
marker. |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
187 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
188 |
Export to mq: ``synchronize`` |
169
06c942f9bac6
auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
161
diff
changeset
|
189 |
------------------------------------------------------------ |
06c942f9bac6
auc improvement of the doc
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
161
diff
changeset
|
190 |
|
325
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
191 |
Another extension allows to export. you changes to mq |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
192 |
|
199 | 193 |
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
|
194 |
------------------------------------------------------------ |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
195 |
|
199 | 196 |
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
|
197 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
198 |
:: |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
199 |
[alias] |
325
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
200 |
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
|
201 |
|
199 | 202 |
View obsolete markers |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
203 |
------------------------------------------------------------ |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
204 |
|
199 | 205 |
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
|
206 |
version available here: |
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
207 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
208 |
$ 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
|
209 |
|
325
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
210 |
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
|
211 |
|
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
212 |
$ hg debugsuccessors |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
213 |
5eb72dbe0cb4 e8db4aa611f6 |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
214 |
c4cbebac3751 4f1c269eab68 |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
215 |
|
199 | 216 |
|
217 |
||
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
218 |
Important Note |
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
219 |
===================================================================== |
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
220 |
|
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
221 |
View change to your file |
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
222 |
------------------------------------------------------------ |
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 |
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
|
225 |
|
325
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
226 |
Only ``hg log`` and ``hgview`` support it. ``hg glog`` Only support that since |
43a686709ded
doc: readme and uncommit reference
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
228
diff
changeset
|
227 |
2.2. Other visual viewer don't. |
161
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
228 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
229 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
230 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
231 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
232 |
|
4e3f25ba5401
More doc and index with sphynx
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
233 |
|
228
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
234 |
|
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
235 |
|
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
236 |
|
5a17c0d41a00
proof-read documentation and docstrings
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
227
diff
changeset
|
237 |