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.
- Timestamp:
-
Feb 26, 2009, 4:28:39 AM (15 years ago)
- Author:
-
darkrain42
- Comment:
-
Minor word choice changes
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v38
|
v39
|
|
100 | 100 | === micro-branches === |
101 | 101 | |
102 | | Every history in monotone is represented as a directed acyclic graph (DAG). This means that every revision checked into the database has an ''explicit'' list of parent revisions, which are fixed at the moment that the revision is committed and are thereforth immutable. The DAG structure is general; this means that a revision can have more than one parent (currently, I believe it is only possible to have zero, one, or two, due to the implementation of monotone), and more than one revision can have the same parent (that is to say, a revision can have more than one child). Because ancestors are immutable, and an ancestor must exist at creation time, a revision can never be its own ancestor -- thus the acyclic part. |
| 102 | Revision history in monotone is represented as a directed acyclic graph (DAG). This means that every revision checked into the database has an ''explicit'' list of parent revisions, which are fixed at the moment that the revision is committed and are thereafter immutable. The DAG structure is general; this means that a revision can have more than one parent (currently, I believe it is only possible to have zero, one, or two, due to the implementation of monotone), and more than one revision can have the same parent (that is to say, a revision can have more than one child). Because ancestors are immutable, and an ancestor must exist at creation time, a revision can never be its own ancestor -- thus the acyclic part. |
103 | 103 | |
104 | 104 | Due to the distributed nature of monotone, a little bit of thought will lead to the conclusion that it is possible to have a DAG which has more than one "head" revision. Consider the case where two developers pull from the {{{pidgin.im}}} repository at the same time, and thus receive the same head; let us call it {{{0123abcd}}}. Each developer goes on to make a change, and commits that change to their local database. Say, {{{a1b2c3d4}}} for {{{devA}}} and {{{9876fedc}}} for {{{devB}}}. The two developers then push their local changes to {{{pidgin.im}}}, and lo and behold, we have the graph: |
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!