Mercurial > evolve
comparison docs/user-guide.rst @ 1267:8cc6e90354a9 stable
docs: tweak wording, punctuation for better readability
author | Greg Ward <greg@gerg.ca> |
---|---|
date | Mon, 13 Apr 2015 15:42:42 -0400 |
parents | 8328337d23b2 |
children | ba3ff8c00304 |
comparison
equal
deleted
inserted
replaced
1266:c94aaf6df69c | 1267:8cc6e90354a9 |
---|---|
203 *squash* or *collapse*.) | 203 *squash* or *collapse*.) |
204 | 204 |
205 Changeset obsolescence under the hood | 205 Changeset obsolescence under the hood |
206 ------------------------------------- | 206 ------------------------------------- |
207 | 207 |
208 So far, everything has gone just fine. We haven't run into merge | 208 So far, everything has gone just fine: we haven't run into merge |
209 conflicts or other trouble. Before we start exploring advanced usage | 209 conflicts or other trouble. Before we start exploring advanced usage |
210 that can run into trouble, let's step back and see what happens when | 210 that can run into trouble, let's step back and see what happens when |
211 Mercurial marks changesets obsolete. That will make it much easier to | 211 Mercurial marks changesets obsolete. That will make it much easier to |
212 understand the more advanced use cases we'll see later. | 212 understand the more advanced use cases we'll see later. |
213 | 213 |
215 modification uses the same underlying mechanism: the original | 215 modification uses the same underlying mechanism: the original |
216 changesets are marked *obsolete* and replaced by zero or more | 216 changesets are marked *obsolete* and replaced by zero or more |
217 *successors*. The obsolete changesets are the *precursors* of their | 217 *successors*. The obsolete changesets are the *precursors* of their |
218 successors. This applies equally to built-in commands (``commit | 218 successors. This applies equally to built-in commands (``commit |
219 --amend``), commands added by ``evolve`` (``amend``, ``prune``, | 219 --amend``), commands added by ``evolve`` (``amend``, ``prune``, |
220 ``uncommit``, ``fold``), and even commands provided by other | 220 ``uncommit``, ``fold``), and commands provided by other extensions |
221 extensions (``rebase``, ``histedit``). | 221 (``rebase``, ``histedit``). |
222 | 222 |
223 Another way of looking at it is that obsolescence is second-order | 223 Another way of looking at it is that obsolescence is second-order |
224 version control, i.e. the history of your history. We'll cover this in | 224 version control, i.e. the history of your history. We'll cover this in |
225 more detail (and mathematical precision) in the `concepts`_ guide. | 225 more detail (and mathematical precision) in the `concepts`_ guide. |
226 | 226 |
351 | 351 |
352 Example 7: Amend an older changeset | 352 Example 7: Amend an older changeset |
353 =================================== | 353 =================================== |
354 | 354 |
355 Sometimes you don't notice your mistakes until after you have | 355 Sometimes you don't notice your mistakes until after you have |
356 committed some new changesets on top of them. :: | 356 committed new changesets on top of them. :: |
357 | 357 |
358 $ hg commit -m 'fix bug 17' # rev 11 (mistake here) | 358 $ hg commit -m 'fix bug 17' # rev 11 (mistake here) |
359 $ hg commit -m 'cleanup' # rev 12 | 359 $ hg commit -m 'cleanup' # rev 12 |
360 $ hg commit -m 'feature 23' # rev 13 | 360 $ hg commit -m 'feature 23' # rev 13 |
361 | 361 |
362 Traditionally, your only option is to commit an "oops" changeset that | 362 Traditionally, your only option is to commit an "oops" changeset that |
363 fixes your mistake. That works, of course, but it makes you look bad: | 363 fixes your mistake. That works, of course, but it makes you look bad: |
364 you made a mistake, and the record of that mistake is recorded in | 364 you made a mistake, and the record of that mistake is recorded in |
365 history for all eternity. (If the mistake was in the commit message, | 365 history for all eternity. (If the mistake was in the commit message, |
366 too bad.) | 366 too bad: you cannot fix it.) |
367 | 367 |
368 More subtly, there now exist changesets that are *worse* than what | 368 More subtly, there now exist changesets that are *worse* than what |
369 came before—the code no longer builds, the tests don't pass, or | 369 came before—the code no longer builds, the tests don't pass, or |
370 similar. Anyone reviewing these patches will waste time noticing the | 370 similar. Anyone reviewing these patches will waste time on the error |
371 error in the earlier patch, and then the correction later on. | 371 in the earlier patch, and then the correction later on. |
372 | 372 |
373 You can avoid all this by amending the bad changeset and *evolving* | 373 You can avoid all this by amending the bad changeset and *evolving* |
374 subsequent history. Here's how it works, assuming you have just | 374 subsequent history. Here's how it works, assuming you have just |
375 committed revision 13 and noticed the mistake in revision 11:: | 375 committed revision 13 and noticed the mistake in revision 11:: |
376 | 376 |