Mercurial > hg
view tests/test-merge-combination-file-content.t @ 47234:616b8f412676
revlogv2: introduce a very basic docket file
This is the first stone toward using a docket file in revlogv2. Right now the
docket is very basic and only store the version number (which is -also- stored
into the index file…) and the other files have fixed name. This new
implementation break transactionally… but they are no test checking
transactionally for revlogv2… So I take this as an opportunity to start small.
They are no usage of revlogv2 outside of tests anyway.
The docket keeps the `.i` naming used by previous version index to preserve a
unique entry point. We could decide to use a different name and look it up
first, or to fully rework this in a future "store" version. However that does
not seems necessary right now.
We will re-introduces transactionality (and associated testing…) in a later
changesets.
A long list of TODOs have been added to the relevant comment.
Differential Revision: https://phab.mercurial-scm.org/D10624
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 03 May 2021 12:34:11 +0200 |
parents | e8b0c519dfb3 |
children |
line wrap: on
line source
Testing recorded "modified" files for merge commit ================================================== This file shows what hg says are "modified" files for a merge commit (hg log -T {files}), somewhat exhaustively. This test file shows merges that involves files contents changing For merges taht involves executable bit changing, check test-merge-combination-exec-bytes.t For testing of multiple corner case, check test-merge-combination-misc.t Case with multiple or zero merge ancestors, copies/renames, and identical file contents with different filelog revisions are not currently covered. $ . $TESTDIR/testlib/merge-combination-util.sh All the merges of various file contents. $ range () { > max=0 > for i in $@; do > if [ $i = - ]; then continue; fi > if [ $i -gt $max ]; then max=$i; fi > done > $TESTDIR/seq.py `expr $max + 1` > } $ isgood () { true; } $ createfile () { > if [ -f a ] && [ "`cat a`" = $1 ] > then touch $file > else echo $v > a > fi > } $ genmerges 1111 : agree on "" 1112 : agree on "a" 111- : agree on "a" 1121 : agree on "a" 1122 : agree on "" 1123 : agree on "a" 112- : agree on "a" 11-1 : hg said "", expected "a" 11-2 : agree on "a" 11-- : agree on "" 1211 : agree on "a" 1212 : agree on "" 1213 : agree on "a" 121- : agree on "a" 1221 : agree on "a" 1222 : agree on "" 1223 : agree on "a" 122- : agree on "a" 1231 C: agree on "a" 1232 C: agree on "a" 1233 C: agree on "a" 1234 C: agree on "a" 123- C: agree on "a" 12-1 C: agree on "a" 12-2 C: hg said "", expected "a" 12-3 C: agree on "a" 12-- C: agree on "a" 1-11 : hg said "", expected "a" 1-12 : agree on "a" 1-1- : agree on "" 1-21 C: agree on "a" 1-22 C: hg said "", expected "a" 1-23 C: agree on "a" 1-2- C: agree on "a" 1--1 : agree on "a" 1--2 : agree on "a" 1--- : agree on "" -111 : agree on "" -112 : agree on "a" -11- : agree on "a" -121 C: agree on "a" -122 C: agree on "a" -123 C: agree on "a" -12- C: agree on "a" -1-1 : agree on "" -1-2 : agree on "a" -1-- : agree on "a" --11 : agree on "" --12 : agree on "a" --1- : agree on "a" ---1 : agree on "a" ---- : agree on ""