Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Changes between Version 20 and Version 21 of UsingPidginMonotone


Ignore:
Timestamp:
Apr 15, 2007, 2:40:36 PM (17 years ago)
Author:
elb
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UsingPidginMonotone

    v20 v21  
     1[[TOC]]
    12= Using Montone for Pidgin =
    23
     
    5253Branch certificates are a little bit "magic", in that monotone knows about them and changes its behavior based on them.  For example, a {{{commit}}}ted revision will inherit the branch certificate of its parent.  An {{{update}}} on a workspace will update to the "newest" (DAG-wise; more on this later) revision bearing the same branch tag.  The set of revisions to synchronize via netsync is chosen by a branch specification pattern.
    5354
    54 Creating a new branch is as easy as committing a revision with a new branch name, or adding a new branch certificate to an existing revision.  The former is accomplished at commit time by supplying the {{{-b}}} or {{{--branch}}} argument to {{{monotone commit}}}.  The latter is accomplished with the command {{{mtn approve -b <branch-name> <revision>}}} or {{{mtn cert <revision> branch <branch-name>}}}.  Branch names are not structured (that is to say, their structure is not ''enforced''), but good practices for branch naming suggest that related branches have similar names.  BCP seems to be Java-style inverted-domain naming.
     55==== Creating a new branch ====
     56
     57Creating a new branch is as easy as committing a revision with a new branch name, or adding a new branch certificate to an existing revision.
     58
     59To create a new branch from a set of changes in your workspace (that is, commit a revision with a new branch name, supply the {{{-b}}} or {{{--branch}}} argument to {{{monotone commit}}}.  In other words:
     60
     61{{{
     62mtn ci -b <new-branch-name>
     63}}}
     64
     65Creating a new branch from an existing revision is accomplished with one of the commands:
     66
     67{{{
     68mtn approve -b <new-branch-name> <revision>
     69mtn cert <revision> branch <new-branch-name>
     70}}}
     71
     72==== Branch naming ====
     73
     74Branch names are not structured (that is to say, their structure is not ''enforced''), but good practices for branch naming suggest that related branches have similar names.  BCP seems to be Java-style inverted-domain naming.  We are using this practice, with all Pidgin.im-related branches living under the im.pidgin namespace, with further hierarchy below this.  For example, the 2007 Summer of Code projects are all beneath im.pidgin.soc.2007.<projectname>.  Naming like this tells us something about the branches immediately upon executing {{{mtn ls branches}}}.
     75
     76==== Merging branches ====
    5577
    5678Merging two branches is accomplished with the command {{{mtn propagate <from-branch> <to-branch>}}}.  There are other ways to merge (''e.g.'', approve or cert a revision onto the destination branch, and then handle as a micro-branch below), but this is the most straightforward and will normally serve your purposes.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!