tests/test-dirstate-race.t
branchstable
changeset 33577 34a8ef358c93
parent 33139 40ee74bfa111
child 35393 4441705b7111
equal deleted inserted replaced
33576:a41e0f1c9b69 33577:34a8ef358c93
   202   $ echo c4 >> a
   202   $ echo c4 >> a
   203   $ echo c4 >> b
   203   $ echo c4 >> b
   204   $ hg commit -m c4
   204   $ hg commit -m c4
   205   created new head
   205   created new head
   206 
   206 
   207 Configure a merge tool that runs status in the middle of the rebase.
   207 Configure a merge tool that runs status in the middle of the rebase. The goal of
       
   208 the status call is to trigger a potential bug if fsmonitor's state is written
       
   209 even though the wlock is held by another process. The output of 'hg status' in
       
   210 the merge tool goes to /dev/null because we're more interested in the results of
       
   211 'hg status' run after the rebase.
   208 
   212 
   209   $ cat >> $TESTTMP/mergetool-race.sh << EOF
   213   $ cat >> $TESTTMP/mergetool-race.sh << EOF
   210   > echo "custom merge tool"
   214   > echo "custom merge tool"
   211   > printf "c2\nc3\nc4\n" > \$1
   215   > printf "c2\nc3\nc4\n" > \$1
   212   > hg --cwd "$TESTTMP/repo" status
   216   > hg --cwd "$TESTTMP/repo" status > /dev/null
   213   > echo "custom merge tool end"
   217   > echo "custom merge tool end"
   214   > EOF
   218   > EOF
   215   $ cat >> $HGRCPATH << EOF
   219   $ cat >> $HGRCPATH << EOF
   216   > [extensions]
   220   > [extensions]
   217   > rebase =
   221   > rebase =
   218   > [merge-tools]
   222   > [merge-tools]
   219   > test.executable=sh
   223   > test.executable=sh
   220   > test.args=$TESTTMP/mergetool-race.sh \$output
   224   > test.args=$TESTTMP/mergetool-race.sh \$output
   221   > EOF
   225   > EOF
   222 
   226 
   223 BROKEN: the "M b" line should not be there
       
   224   $ hg rebase -s . -d 3 --tool test
   227   $ hg rebase -s . -d 3 --tool test
   225   rebasing 4:b08445fd6b2a "c4" (tip)
   228   rebasing 4:b08445fd6b2a "c4" (tip)
   226   merging a
   229   merging a
   227   custom merge tool
   230   custom merge tool
   228   M a
       
   229   M b
       
   230   ? a.orig
       
   231   custom merge tool end
   231   custom merge tool end
   232   saved backup bundle to $TESTTMP/repo/.hg/strip-backup/* (glob)
   232   saved backup bundle to $TESTTMP/repo/.hg/strip-backup/* (glob)
   233 
   233 
   234 This hg status should be empty, whether or not fsmonitor is enabled (issue5581).
   234 This hg status should be empty, whether or not fsmonitor is enabled (issue5581).
   235 
   235