49 |
49 |
50 |
50 |
51 |
51 |
52 === Using unnamed branches === |
52 === Using unnamed branches === |
53 |
53 |
54 Unnamed branches a.k.a. topological branches, are when the history of commits within a branch (e.g. "default") splits up into alternative chains of commits. |
54 _Unnamed branches_ a.k.a. _topological branches_ happen when the history of commits within a branch (e.g. "default") splits up into alternative commits chains. |
55 These alternative chains will have more than one {{{head}}} (at the the end of each chain) within the same branch, until they will be merged back together into a single chain. |
55 These alternative chains will have more than one {{{head}}} (at the the end of each chain) within the same branch, until they will be merged back together into a single chain. |
56 |
56 |
57 In order for us to be able which bugfixes/features of you we merge into the official repository, you should put each in a separate "unnamed branch" as described above. |
57 *In order for us to be able which bugfixes/features of you we merge into the official repository, you should put each in a separate _unnamed branch_ as described above.* |
58 |
58 |
59 Make sure that the first commit of each bugfix/feature commit set is based on a commit from the official repository, that way your bugfixes/features will not depend on the commits of each other and can be merged into official individually, as needed. |
59 Make sure that the first commit of each bugfix/feature commit set is based on a commit from the official repository, that way your bugfixes/features will not depend on the commits of each other and can be merged into official individually, as needed. |
60 |
60 |
61 That means: *Before you start writing code towards a new bugfix/feature, make sure to {{{hg update}}} to a revision from the official repository.* |
61 That means: *Before you start writing code towards a new bugfix/feature, make sure to {{{hg update}}} to a revision from the official repository.* |
62 |
62 |
63 |
63 |
64 In newer versions of Mercurial you can give those unnamed branches a "local" and removable name using {{{hg bookmark}}}. |
64 In newer versions of Mercurial you can give those unnamed branches a "local" and removable name using {{{hg bookmark}}}. |
65 |
65 |
66 You can see example of how unnamed branches and bookmarks are used best [http://hg.hedgewars.org/hw-example-clone/graph here] |
66 You can see example of how unnamed branches and bookmarks are used best [http://hg.hedgewars.org/hw-example-clone/graph here] |
67 |
67 |
68 ject than a patch and that will take dozens of commits, feel free to use a (named) branch. |
|
69 |
|
70 To create a new branch use {{{hg branch}}} followed by the name of the new branch, before committing the first code. |
|