Drawing Text DAGs

Simple DAGs are best shown horizontally with ancestors on the left. This helps inline DAGs into text without requiring a lot of scrolling. Most graph issues can be described with just a few lines:

 o-o-o-o-o       <- tip
  \ X /          <- crossing merges
   o-o           <- a branch

Label DAGs either alphabetically or numerically to show creation order. Use 'o' to show generic nodes that aren't of particular interest. Sometimes it's useful to expand DAGs so that there's only one rev per column to illustrate time more clearly:

 a-b---d---f-g   <- Alice's changes
  \   /   /
   `-c---e       <- Bob's changes

If you need to indicate branches, use numbers for revision order, and letters for branches (and try to keep branches on the same line). Also try to keep the tip revision obvious by having it on the far right:

 1r-3r---5r  <- release
  \   \ 
   2d--4d    <- devel

For rebasing, cherrypicking, or other similar cset movement, it's often useful to use a prime mark to illustrate related csets:

 a-b-c-d'-e' <- rebased csets
  \
   d-e  <- will be stripped

DrawingTextDAGs (last edited 2010-02-17 00:28:19 by ChristianEbert)