https://bz.mercurial-scm.org/show_bug.cgi?id=5581

            Bug ID: 5581
           Summary: fsmonitor can race with itself if another process
                    invokes hg status while wlock is held
           Product: Mercurial
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: fsmonitor
          Assignee: bugzi...@mercurial-scm.org
          Reporter: s...@fb.com
                CC: mercurial-devel@mercurial-scm.org

$ cat >> $HGRCPATH << EOF
  > [extensions]
  > fsmonitor =
  > rebase =
  > EOF

  $ hg init repo
  $ cd repo
  $ echo c0 >> a
  $ echo c0 >> b
  $ hg add a b
  $ hg ci -m c0
  $ echo c1 >> a
  $ hg ci -m c1
  $ hg up .^
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ echo c2 >> a
  $ echo c2 >> b
  $ hg ci -m c2
  created new head

Merge tool that runs status in between, triggering the race.

  $ cat >> $TESTTMP/mergetool.sh << EOF
  > echo "custom merge tool"
  > printf "c0\nc1\nc2\n" > \$1
  > hg --cwd $TESTTMP/repo status
  > EOF

  $ cat >> $HGRCPATH << EOF
  > [merge-tools]
  > test.executable=sh
  > test.args=$TESTTMP/mergetool.sh \$output
  > EOF

  $ hg rebase -s . -d 1 --tool test
  $ hg log -p --debug
  $ hg status

That last 'hg status' should be empty, but it returns 'M b'.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to