116 If you don't specify a destination changeset (``-d/--dest``), |
116 If you don't specify a destination changeset (``-d/--dest``), |
117 rebase uses the current branch tip as the destination. (The |
117 rebase uses the current branch tip as the destination. (The |
118 destination changeset is not modified by rebasing, but new |
118 destination changeset is not modified by rebasing, but new |
119 changesets are added as its descendants.) |
119 changesets are added as its descendants.) |
120 |
120 |
121 You can specify which changesets to rebase in two ways: as a |
121 There are three ways to select changesets:: |
122 "source" changeset or as a "base" changeset. Both are shorthand |
122 |
123 for a topologically related set of changesets (the "source |
123 1. Explicitly select them using ``--rev``. |
124 branch"). If you specify source (``-s/--source``), rebase will |
124 |
125 rebase that changeset and all of its descendants onto dest. If you |
125 2. Use ``--source`` to select a root changeset and include all of its |
126 specify base (``-b/--base``), rebase will select ancestors of base |
126 descendants. |
127 back to but not including the common ancestor with dest. Thus, |
127 |
128 ``-b`` is less precise but more convenient than ``-s``: you can |
128 3. Use ``--base`` to select a changeset; rebase will find ancestors |
129 specify any changeset in the source branch, and rebase will select |
129 and their descendants which are not also ancestors of the destination. |
130 the whole branch. If you specify neither ``-s`` nor ``-b``, rebase |
|
131 uses the parent of the working directory as the base. |
|
132 |
|
133 For advanced usage, a third way is available through the ``--rev`` |
|
134 option. It allows you to specify an arbitrary set of changesets to |
|
135 rebase. Descendants of revs you specify with this option are not |
|
136 automatically included in the rebase. |
|
137 |
130 |
138 By default, rebase recreates the changesets in the source branch |
131 By default, rebase recreates the changesets in the source branch |
139 as descendants of dest and then destroys the originals. Use |
132 as descendants of dest and then destroys the originals. Use |
140 ``--keep`` to preserve the original source changesets. Some |
133 ``--keep`` to preserve the original source changesets. Some |
141 changesets in the source branch (e.g. merges from the destination |
134 changesets in the source branch (e.g. merges from the destination |