11 git add
$n >> /dev
/null
12 if ! [ "$1" == "" ] ; then
15 git commit
-m node-
$n- >> /dev
/null
16 if ! [ "$1" == "" ] ; then
17 git tag
-m "" $n >> /dev
/null
22 git log
--all --grep node-
$1- |
grep commit |
sed -e 's/commit //'
27 git checkout
$SHA1 -b $2 >> /dev
/null
35 git merge
--no-ff $SHA1 -m node-
$n- >> /dev
/null
42 while [[ i
-lt I
]] ; do
51 for i
in $
(range
0 $I) ; do
61 git symbolic-ref HEAD refs
/heads
/main
63 # Tags are used to get difference between row and generation values.
64 # Branches main & b2 occupied 2 rows per generation because of tags.
65 # Branches b0 is at the left of tags. Therefore, b0 uses 1 row per generation.
66 # The same is for b1 too. The b1 is short but tag 'b1' cannot be placed
67 # right at the row the branch ends, because the tags at the right were already
68 # placed (they have less generation value). Hence, a gap between last two
69 # commits of b1 is big. Let b0 forks at a row inside the gap. The fork commit
70 # have greater generation than last commit of b1. Hence, it is placed after.
71 # Because of the bug, making many enough branches starting from the fork will
72 # manage to overlapping of last commit of b1 and a commit of a branch.
105 ..
/..
/..
/bin
/git-dag
--all &