Artifact 5e04c75d53fdb4c89eeccb9fa1acf0ee741ad51e:
- File test/merge_renames.test — part of check-in [bf480a29a6] at 2011-10-14 19:01:52 on branch declined — Fixing the merge_renames test; fossil was using $HOME somehow. I noticed it running the test in an environment without a valid $HOME path (the nix package building). fossil refused to run the 'fossil new' inside the merge_renames test. (user: viriketo size: 3889) [more...]
# # Tests for merging with renames # # catch {exec $::fossilexe info} res puts res=$res if {![regexp {use --repository} $res]} { puts stderr "Cannot run this test within an open checkout" return } # Fossil will write data on $HOME, running 'fossil new' here. # We need not to clutter the $HOME of the test caller. set env(HOME) [pwd] ###################################### # Test 1 # # Reported: Ticket [554f44ee74e3d] # ###################################### fossil new rep.fossil fossil open rep.fossil write_file f1 "line" fossil add f1 fossil commit -m "c1" fossil tag add pivot current write_file f1 "line2" fossil commit -m "c2" write_file f1 "line3" fossil commit -m "c3" write_file f1 "line4" fossil commit -m "c4" write_file f1 "line5" fossil commit -m "c4" write_file f1 "line6" fossil commit -m "c4" fossil update pivot fossil mv f1 f2 exec mv f1 f2 fossil commit -b rename -m "c5" fossil merge trunk fossil commit -m "trunk merged" fossil update pivot write_file f3 "someline" fossil add f3 fossil commit -b branch2 -m "newbranch" fossil merge trunk puts $RESULT set deletes 0 foreach {status filename} $RESULT { if {$status=="DELETE"} { set deletes [expr $deletes + 1] } } if {$deletes!=0} { # failed protOut "Error, the merge should not delete any file" test merge_renames-1 0 } else { test merge_renames-1 1 } fossil close -f exec rm rep.fossil ###################################### # Test 2 # # Reported: Ticket [74413366fe5067] # ###################################### fossil new rep.fossil fossil open rep.fossil write_file f1 "line" fossil add f1 fossil commit -m "base file" fossil tag add pivot current write_file f2 "line2" fossil add f2 fossil commit -m "newfile" fossil mv f2 f2new exec mv f2 f2new fossil commit -m "rename" fossil update pivot write_file f1 "line3" fossil commit -b branch -m "change" fossil merge trunk fossil commit -m "trunk merged" fossil update trunk fossil merge branch puts $RESULT # Not a nice way to check, but I don't know more tcl now set deletes 0 foreach {status filename} $RESULT { if {$status=="DELETE"} { set deletes [expr $deletes + 1] } } if {$deletes!=0} { # failed protOut "Error, the merge should not delete any file" test merge_renames-2 0 } else { test merge_renames-2 1 } fossil close -f exec rm rep.fossil ###################################### # Test 3 # # Reported: Ticket [30b28cf351] # ###################################### fossil new rep.fossil fossil open rep.fossil write_file f1 "line" fossil add f1 fossil commit -m "base file" fossil tag add pivot current write_file f2 "line2" fossil add f2 fossil commit -m "newfile" fossil mv f2 f2new exec mv f2 f2new fossil commit -m "rename" fossil update pivot write_file f1 "line3" fossil commit -b branch -m "change" fossil merge trunk fossil commit -m "trunk merged" fossil update trunk fossil merge branch puts $RESULT # Not a nice way to check, but I don't know more tcl now set deletes 0 foreach {status filename} $RESULT { if {$status=="DELETE"} { set deletes [expr $deletes + 1] } } if {$deletes!=0} { # failed protOut "Error, the merge should not delete any file" test merge_renames-2 0 } else { test merge_renames-2 1 } fossil close -f exec rm rep.fossil ###################################### # Test 4 # # Reported: Ticket [67176c3aa4] # ###################################### # TO BE WRITTEN. # Tests for troubles not specifically linked with renames but that I'd like to # write: # [c26c63eb1b] - 'merge --backout' does not handle conflicts properly # [953031915f] - Lack of warning when overwriting extra files # [4df5f38f1e] - Troubles merging a file delete with a file change