author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
Tue, 20 Mar 2012 17:53:51 +0100 | |
changeset 159 | 6ff373346dd4 |
parent 158 | 3cdf8291fd97 |
permissions | -rw-r--r-- |
152
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
1 |
======================================== |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
2 |
Introduction to the evolution extension |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
3 |
======================================== |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
4 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
5 |
An history rewriting extension |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
6 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
7 |
* Using the obsolete marker concept |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
8 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
9 |
* Inspired from mq |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
10 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
11 |
it is simple to enable:: |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
12 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
13 |
$ hg clone http://hg-dev.octopoid.net/hgwebdir.cgi/mutable-history/ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
14 |
$ mutable-history/enable.sh > ~/.hgrc |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
15 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
16 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
17 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
18 |
Quick Guide |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
19 |
===================================================================== |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
20 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
21 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
22 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
23 |
Add a changeset: ``commit`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
24 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
25 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
26 |
Just use commit as usual. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
27 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
28 |
Rewrite a changeset: ``amend`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
29 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
30 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
31 |
A new command ``hg amend`` is added by the extension. it write a new changeset |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
32 |
combining working-directory parent changes and working directory parent changes. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
33 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
34 |
To understand what the result of amend will be I do use the two following |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
35 |
aliases [#]_:: |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
36 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
37 |
# diff what amend will look likes |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
38 |
pdiff=diff --rev .^ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
39 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
40 |
# status what amend will look likes |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
41 |
pstatus=status --rev .^ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
42 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
43 |
It take various options to choose the user, the date and the branch of the |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
44 |
result. see ``hg help amend for detail`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
45 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
46 |
This command can be invoqued on any mutable changeset even changeset with |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
47 |
children ! |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
48 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
49 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
50 |
.. note:: the amend command is very similar to mq's ``qrefresh``, a ``refresh`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
51 |
alias for amend is also available. But note that contrary to |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
52 |
``qrefresh``, ``amend`` does not exclude changes on file not specified |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
53 |
on the command line. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
54 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
55 |
XXX add idank example |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
56 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
57 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
58 |
.. [#] (added by enable.sh) |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
59 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
60 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
61 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
62 |
Move a changeset: ``graft`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
63 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
64 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
65 |
the graft command introduced in 2.0 allows to "copy changes from other branches |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
66 |
onto the current branch" |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
67 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
68 |
The graft command have been altered to be able to create an obsolete marker from |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
69 |
the copy result to the copy source, acting like changeset movement operation. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
70 |
This is achieved using a new flag `-O` (or `old-obsolete`) [#]_. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
71 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
72 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
73 |
XXX example |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
74 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
75 |
.. warning:: when using graft --continue after conflict resolution you **MUST** |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
76 |
pass `-O` or `-o` flag again because they are not saved for now |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
77 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
78 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
79 |
.. [#] add this `-O` to graft instead of a dedicated command is probably |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
80 |
abusive. But this was very convenient for experimental purpose. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
81 |
This will likely change in non experimental release. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
82 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
83 |
Delete a changeset: ``kill`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
84 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
85 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
86 |
A new ``kill`` command allow to remove a changeset. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
87 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
88 |
Just use ``hg kill <some-rev>``. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
89 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
90 |
Moving within the history: ``up`` ``gdown`` and ``gup`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
91 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
92 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
93 |
While working on mutable part of the history you often need to move between |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
94 |
mutable commit. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
95 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
96 |
You just need to use standard update to work with evolve. For convenience, you |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
97 |
can use ``hg gup`` to move to children commit or ``hg gdown`` to move to working |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
98 |
directory parent commit. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
99 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
100 |
.. note:: those command only exist for the convenience of getting qpush and qpop |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
101 |
feeling back. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
102 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
103 |
They are |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
104 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
105 |
collapse changesets: ``amend`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
106 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
107 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
108 |
you can use amend -c to collapse multiple changeset in a single one. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
109 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
110 |
Move multiple changesets: ``rebase`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
111 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
112 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
113 |
You can still use rebase to move whole part of the changeset graph at once. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
114 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
115 |
.. warning:: Beware that rebasing obsolete changeset will result in new |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
116 |
conflicting version. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
117 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
118 |
Stabilize history: ``stabilize`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
119 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
120 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
121 |
When you rewrite changeset with children without rewriting those children you |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
122 |
create *unstable* changeset and *suspended obsolete* changeset |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
123 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
124 |
.. warning:: ``hg stabilize`` have no --continue to use after conflict |
156
3c4826fb374a
some more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
152
diff
changeset
|
125 |
resolution. is conflict occurs use:: |
3c4826fb374a
some more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
152
diff
changeset
|
126 |
|
3c4826fb374a
some more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
152
diff
changeset
|
127 |
$ hg up -C . # cancel the failed merge |
3c4826fb374a
some more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
152
diff
changeset
|
128 |
$ hg stabilize -n # go get a command to execute |
152
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
129 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
130 |
.. warning:: stabilization does not handle deletion yet. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
131 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
132 |
.. warning:: obsolete currently rely on secret changeset to not exchange |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
133 |
obsolete and unstable changeset. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
134 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
135 |
XXX details issue here |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
136 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
137 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
138 |
Fix my history afterward: ``kill -n`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
139 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
140 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
141 |
sometime you need to create obsolete marker by hand. This may happen when |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
142 |
upstream applied some of you patches for example. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
143 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
144 |
you can use ``hg kill --new <new-changeset> <old-changeset>`` to add obsolete |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
145 |
marker. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
146 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
147 |
export to mq: ``synchronize`` |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
148 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
149 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
150 |
Another extension allows to export |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
151 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
152 |
view change to your file |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
153 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
154 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
155 |
Another extension allows to export |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
156 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
157 |
view diff from the last amend |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
158 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
159 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
160 |
an odiff alias have been added by enable.sh |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
161 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
162 |
:: |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
163 |
[alias] |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
164 |
odiff = diff --rev 'limit(obsparents(.),1)' --rev . |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
165 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
166 |
view obsolete marker |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
167 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
168 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
169 |
hgview is the only viewer that support this feature. you need an experimental |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
170 |
version available here: |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
171 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
172 |
$ hg clone http://hg-dev.octopoid.net/hgwebdir.cgi/hgview/ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
173 |
|
156
3c4826fb374a
some more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
152
diff
changeset
|
174 |
Prevent my unfinished changeset to get published |
3c4826fb374a
some more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
152
diff
changeset
|
175 |
------------------------------------------------------------ |
3c4826fb374a
some more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
152
diff
changeset
|
176 |
|
3c4826fb374a
some more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
152
diff
changeset
|
177 |
The easiest way is to set them in the private phase |
3c4826fb374a
some more doc update
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
152
diff
changeset
|
178 |
|
152
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
179 |
Important Note |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
180 |
===================================================================== |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
181 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
182 |
view change to your file |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
183 |
------------------------------------------------------------ |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
184 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
185 |
extinct changeset are hidden using the *hidden* feature of mercurial. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
186 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
187 |
only hg log and hgview support it. hg glog or other visual viewer don't. |
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
188 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
189 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
190 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
191 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
192 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
193 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
194 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
195 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
196 |
|
54c67d7f9eed
very cruse evolve tutorial
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
197 |