tests/test-cat.t
author Siddharth Agarwal <sid0@fb.com>
Wed, 19 Jun 2013 22:34:34 -0700
branchstable
changeset 19317 66da6e9feacd
parent 17371 1310489eb5d6
child 21078 50107a4b32e7
permissions -rw-r--r--
pathencode: fix hashmangle short dir limit (issue3958) The Python version of this (see mercurial/store.py:_hashencode) copies path components up to a limit of maxshortdirslen bytes. The Python version does not consider the initial "dh/" to be part of the this, though, while the C version currently does. Adding len("dh/") == 3 to the limit for the C version brings it in line with the Python version. This was not caught by the randomized testing scheme in test-pathencode.py because of a couple of flaws with the test. Upcoming patches will fix those problems.

  $ hg init
  $ echo 0 > a
  $ echo 0 > b
  $ hg ci -A -m m
  adding a
  adding b
  $ hg rm a
  $ hg cat a
  0
  $ hg cat --decode a # more tests in test-encode
  0
  $ echo 1 > b
  $ hg ci -m m
  $ echo 2 > b
  $ hg cat -r 0 a
  0
  $ hg cat -r 0 b
  0
  $ hg cat -r 1 a
  a: no such file in rev 7040230c159c
  [1]
  $ hg cat -r 1 b
  1

Test fileset

  $ echo 3 > c
  $ hg ci -Am addmore c
  $ hg cat 'set:not(b) or a'
  3
  $ hg cat 'set:c or b'
  1
  3