blob: 7ca1da74119802fbd1c2c4c9589e8f36f2a7c318 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
#!/bin/rc
. util.rc
rm -fr scratch
mkdir -p scratch
cd scratch
echo @@ test lca @@
@{
q $G/init a
cd a
echo 'first' > f
q $G/add f
q $G/commit -m base f
r=`{$G/$O.query HEAD}
echo 0 > f
q $G/commit -m a.0 .
a=`{$G/$O.query HEAD}
for(i in `{seq 10}){
echo $i > f
q $G/commit -m a.$i .
}
q $G/branch -nb $r merge
echo x > f
q $G/commit -m b.0 .
b=`{$G/$O.query HEAD}
qq $G/merge front
q $G/commit -m merge .
m=`{$G/$O.query HEAD}
~ `{$G/$O.query $a $m @} $a || die lca a-m
~ `{$G/$O.query $a $b @} $r || die lca a-b
~ `{$G/$O.query $a $r @} $r || die lca a-r
}
# a
# ↓
# b→c→d→e→f
#
# date order (oldest to newest): f d c b e a
echo @@ test lca rebase @@
@{
q $G/init b
cd b
touch f
fn commit {
$G/$O.save -n regress -e regress $* f
}
f=`{commit -m f -d 1}
e=`{commit -m e -d 5 -p $f}
d=`{commit -m d -d 2 -p $e}
c=`{commit -m c -d 3 -p $d}
b=`{commit -m b -d 4 -p $c}
a=`{commit -m a -d 6 -p $e}
~ `{$G/$O.query $a $b @} $e || die lca a-b
~ `{$G/$O.query $b $a @} $e || die lca b-a
}
|