767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
|
# revision on each branch becomes a new and disconnected
# root.
foreach branch [$root branches] {
$branch cutbranchparent
if {![$branch haschild]} continue
set first [$branch child]
$first cutfromparentbranch
$first cutfromparent
$branch cutchild
lappend myroots $first
}
$root removeallbranches
# Tagging a dead revision doesn't do anything, so remove
# any tags that were set on it.
|
<
<
|
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
|
# revision on each branch becomes a new and disconnected
# root.
foreach branch [$root branches] {
$branch cutbranchparent
if {![$branch haschild]} continue
set first [$branch child]
$first cutfromparent
lappend myroots $first
}
$root removeallbranches
# Tagging a dead revision doesn't do anything, so remove
# any tags that were set on it.
|
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
|
set branch [$root parentbranch]
set parent [$root parent]
set child [$root child]
ldelete myroots $root
lappend myroots $child
$branch cutchild
$child cutfromparent
$parent removebranch $branch
$parent removechildonbranch $root
}
return
}
method LinesOfDevelopment {} {
|
>
>
>
>
|
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
|
set branch [$root parentbranch]
set parent [$root parent]
set child [$root child]
ldelete myroots $root
lappend myroots $child
$branch cutbranchparent
$branch cutchild
$child cutfromparent
$branch setchild $child
$child setparentbranch $branch
$parent removebranch $branch
$parent removechildonbranch $root
}
return
}
method LinesOfDevelopment {} {
|
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
|
set symbols {}
foreach root [$self LinesOfDevelopment] {
if {[$root hasparentbranch]} { lappend symbols [$root parentbranch] }
while {$root ne ""} {
lappend revisions $root
foreach tag [$root tags] { lappend symbols $tag }
foreach branch [$root branches] { lappend symbols $branch }
set lod [$root lod]
if {![$lod istrunk]} { lappend symbols $lod }
set root [$root child]
}
}
return [list [lsort -unique -dict $revisions] [lsort -unique -dict $symbols]]
}
|
|
>
>
>
>
>
|
>
>
>
>
>
|
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
|
set symbols {}
foreach root [$self LinesOfDevelopment] {
if {[$root hasparentbranch]} { lappend symbols [$root parentbranch] }
while {$root ne ""} {
lappend revisions $root
foreach tag [$root tags] { lappend symbols $tag }
foreach branch [$root branches] {
integrity assert {
[$branch parent] eq $root
} {Backreference branch to its root is missing or wrong}
lappend symbols $branch
}
set lod [$root lod]
if {![$lod istrunk]} {
integrity assert {
[$lod haschild]
} {Branch is LOD symbol without revisions}
lappend symbols $lod
}
set root [$root child]
}
}
return [list [lsort -unique -dict $revisions] [lsort -unique -dict $symbols]]
}
|