view tests/test-hgk.t @ 34107:4f60720cf0df

blackbox: fix rotation with chg The added test will show: $ $PYTHON showsize.py .hg/blackbox* .hg/blackbox.log: < 500 .hg/blackbox.log.1: < 500 .hg/blackbox.log.2: < 500 .hg/blackbox.log.3: < 500 .hg/blackbox.log.4: < 500 .hg/blackbox.log.5: >= 500 with previous code. The issue is caused by blackbox caching file objects *by path*, and the rotation size check could run on a wrong file object (i.e. it should check "blackbox.log", but `filehandles["blackbox.log"]` contains a file object that has been renamed to "blackbox.log.5"). This patch removes the "filehandlers" global cache added by 45313f5a3a8c to solve the issue. I think the original patch was trying to make different ui objects use a same file object if their blackbox.log path is the same. In theory it could also be problematic in the rotation case. Anyway, that should become unnecessary after D650. Differential Revision: https://phab.mercurial-scm.org/D648
author Jun Wu <quark@fb.com>
date Wed, 06 Sep 2017 19:27:30 -0700
parents 5fb1fc2e1281
children
line wrap: on
line source

Minimal hgk check

  $ echo "[extensions]" >> $HGRCPATH
  $ echo "hgk=" >> $HGRCPATH
  $ hg init repo
  $ cd repo
  $ echo a > a
  $ hg ci -Am adda
  adding a
  $ hg debug-cat-file commit 0
  tree a0c8bcbbb45c
  parent 000000000000
  author test 0 0
  revision 0
  branch default
  phase draft
  
  adda
  $ echo b > b
  $ hg ci -Am addb
  adding b
  $ hg log -T '{node}\n'
  102a90ea7b4a3361e4082ed620918c261189a36a
  07f4944404050f47db2e5c5071e0e84e7a27bba9

  $ hg debug-diff-tree 07f494440405 102a90ea7b4a
  :000000 100664 000000000000 1e88685f5dde N	b	b
  $ hg debug-diff-tree 07f494440405 102a90ea7b4a --patch
  diff --git a/b b/b
  new file mode 100644
  --- /dev/null
  +++ b/b
  @@ -0,0 +1,1 @@
  +b

Ensure that diff-tree output isn't affected by diffopts
  $ hg --config diff.noprefix=True debug-diff-tree 07f494440405 102a90ea7b4a
  :000000 100664 000000000000 1e88685f5dde N	b	b
  $ hg --config diff.noprefix=True debug-diff-tree --patch 07f494440405 102a90ea7b4a
  diff --git a/b b/b
  new file mode 100644
  --- /dev/null
  +++ b/b
  @@ -0,0 +1,1 @@
  +b

  $ cd ..