26 --------------------- |
26 --------------------- |
27 |
27 |
28 hg qseries |
28 hg qseries |
29 ``````````` |
29 ``````````` |
30 |
30 |
31 All your work in progress are now real changeset all the time. |
31 All your work in progress is now in real changeset all the time. |
32 |
32 |
33 You can then use standard log to display them. You can use phase revset to |
33 You can use the standard log to display them. You can use the phase revset to |
34 display unfinished business only and template to have the same kind of compact |
34 display unfinished business only and templates to have the same kind of compact |
35 output qseries have. |
35 output qseries has. |
36 |
36 |
37 This will result in something like that:: |
37 This will result in something like that:: |
38 |
38 |
39 [alias] |
39 [alias] |
40 wip = log -r 'not public()' --template='{rev}:{node|short} {description|firstline}\n' |
40 wip = log -r 'not public()' --template='{rev}:{node|short} {description|firstline}\n' |
41 |
41 |
42 hg qnew |
42 hg qnew |
43 ```````` |
43 ```````` |
44 |
44 |
45 With evolve you handle standard changeset without additional overlay. |
45 With evolve you handle standard changesets without an additional overlay. |
46 |
46 |
47 Standard changeset are created using hg commit as usual. |
47 Standard changeset are created using hg commit as usual.:: |
48 |
48 |
49 $ hg commit |
49 $ hg commit |
50 |
50 |
51 If you want to keep the "wip are not pushed" behavior, you are looking for |
51 If you want to keep the "wip are not pushed" behavior, you are looking for |
52 setting your changeset in the secret phase using the phase command. |
52 setting your changeset in the secret phase using the phase command. |
53 |
53 |
54 Note that you only need it for the first commit you want to be secret. Later |
54 Note that you only need it for the first commit you want to be secret. Later |
55 commit will inherit their parents phase. |
55 commits will inherit their parents phase. |
56 |
56 |
57 If you always want your new commit to be in the secret phase, your should |
57 If you always want your new commit to be in the secret phase, your should |
58 consider updating your configuration: |
58 consider updating your configuration: |
59 |
59 |
60 [phases] |
60 [phases] |
67 currently on. just call: |
67 currently on. just call: |
68 |
68 |
69 $ hg amend |
69 $ hg amend |
70 |
70 |
71 |
71 |
72 This command takes the same option than commit plus useful switch '-e' (--edit) |
72 This command takes the same options as commit, plus the switch '-e' (--edit) |
73 to edit the commit message. |
73 to edit the commit message in an editor. |
74 |
74 |
75 Amend have also a -c switch which allow you to make and explicit amending |
75 Amend have also a -c switch which allow you to make an explicit amending |
76 commit before rewriting a changeset. |
76 commit before rewriting a changeset.:: |
77 |
77 |
78 $ hg record -m 'feature A' |
78 $ hg record -m 'feature A' |
79 # oups, I forget some stuff |
79 # oups, I forget some stuff |
80 $ hg record babar.py |
80 $ hg record babar.py |
81 $ hg amend -c .^ # .^ refer to "working directoy parent, here 'feature A' |
81 $ hg amend -c .^ # .^ refer to "working directoy parent, here 'feature A' |
97 and gracefully merge them. |
97 and gracefully merge them. |
98 |
98 |
99 hg qpush |
99 hg qpush |
100 ```````` |
100 ```````` |
101 |
101 |
102 When you rewrite changeset, descendant of rewritten changeset are marked as |
102 When you rewrite changesets, descendants of rewritten changesets are marked as |
103 "out of sync". You new to rewrite them on top of the new version of their |
103 "out of sync". You need to rewrite them on top of the new version of their |
104 ancestor. |
104 ancestor. |
105 |
105 |
106 The evolution extension add a command to rewrite the next changeset: |
106 The evolution extension adds a command to rewrite the "out of sync" changesets::: |
107 |
107 |
108 $ hg stabilize |
108 $ hg stabilize |
109 |
109 |
110 You can also decide to do it manually using |
110 You can also decide to do it manually using:: |
111 |
111 |
112 $ hg graft -O <old-version> |
112 $ hg graft -O <old-version> |
113 |
113 |
114 or |
114 or:: |
115 |
115 |
116 $ hg rebase -r <revset for old version> -d . |
116 $ hg rebase -r <revset for old version> -d . |
117 |
117 |
118 note: using graft allow you to pick the changeset you want next as the --move |
118 note: using graft allow you to pick the changeset you want next as the --move |
119 option of qpush do. |
119 option of qpush do. |
120 |
120 |
121 |
121 |
122 hg qrm |
122 hg qrm |
123 ``````` |
123 ``````` |
124 |
124 |
125 evolution introduce a new command to mark a changeset as "not wanted anymore". |
125 evolution introduce a new command to mark a changeset as "not wanted anymore".:: |
126 |
126 |
127 $ hg kill <revset> |
127 $ hg kill <revset> |
128 |
128 |
129 hg qfold |
129 hg qfold |
130 ````````` |
130 ````````` |
137 |
137 |
138 |
138 |
139 or later:: |
139 or later:: |
140 |
140 |
141 $ hg collapse # XXX not implemented |
141 $ hg collapse # XXX not implemented |
142 |
|
143 $ hg rebase --collapse # XXX not tested |
142 $ hg rebase --collapse # XXX not tested |
144 |
143 |
145 |
144 |
146 hg qdiff |
145 hg qdiff |
147 ````````` |
146 ````````` |
148 |
147 |
149 ``odiff`` is an alias for `hg diff -r .^` it works as qdiff event outside mq. |
148 ``odiff`` is an alias for `hg diff -r .^` it works as qdiff, but outside mq. |
150 |
149 |
151 |
150 |
152 |
151 |
153 hg qfinish and hg qimport |
152 hg qfinish and hg qimport |
154 ```````````````````````````` |
153 ```````````````````````````` |
155 |
154 |
156 Is not useful anymore if you want to controll exchange and mutability of |
155 Is not necessary anymore. If you want to control exchange and mutability of |
157 changeset see the phase feature |
156 changesets, see the phase feature |
158 |
157 |
159 |
158 |
160 |
159 |
161 hg qcommit |
160 hg qcommit |
162 ``````````````` |
161 ``````````````` |
163 |
162 |
164 If you really need to send patches through a versionned mq patches you should |
163 If you really need to send patches through versioned mq patches, you should |
165 look at the qsync extension. |
164 look at the qsync extension. |