Fossil SCM

fossil-scm / test / merge2.test
Blame History Raw 50 lines
1
#
2
# Copyright (c) 2006 D. Richard Hipp
3
#
4
# This program is free software; you can redistribute it and/or
5
# modify it under the terms of the Simplified BSD License (also
6
# known as the "2-Clause License" or "FreeBSD License".)
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but without any warranty; without even the implied warranty of
10
# merchantability or fitness for a particular purpose.
11
#
12
# Author contact information:
13
# [email protected]
14
# http://www.hwaci.com/drh/
15
#
16
############################################################################
17
#
18
# Tests of the delta mechanism.
19
#
20
21
test_setup ""
22
23
set filelist [lsort [glob $testdir/*]]
24
foreach f $filelist {
25
if {[file isdir $f]} continue
26
set base [file root [file tail $f]]
27
if {[string match "utf16*" $base]} continue
28
set f1 [read_file $f]
29
write_file t1 $f1
30
for {set i 0} {$i<100} {incr i} {
31
expr {srand($i*2)}
32
write_file t2 [set f2 [random_changes $f1 2 4 0 0.1]]
33
expr {srand($i*2+1)}
34
write_file t3 [set f3 [random_changes $f1 2 4 2 0.1]]
35
expr {srand($i*2+1)}
36
write_file t23 [random_changes $f2 2 4 2 0.1]
37
expr {srand($i*2)}
38
write_file t32 [random_changes $f3 2 4 0 0.1]
39
fossil 3-way-merge t1 t2 t3 a23
40
if {[regexp {<<<<< BEGIN MERGE CONFLICT:} [read_file a23]]} continue
41
test merge-$base-$i-23 {[same_file a23 t23]}
42
fossil 3-way-merge t1 t3 t2 a32
43
test merge-$base-$i-32 {[same_file a32 t32]}
44
}
45
}
46
47
###############################################################################
48
49
test_cleanup
50

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button