##// END OF EJS Templates
context: use a the nofsauditor when matching file in history (issue4749)...
context: use a the nofsauditor when matching file in history (issue4749) Before this change, asking for file from history (eg: 'hg cat -r 42 foo/bar') could fail because of the current content of the working copy (eg: current "foo" being a symlink). As the working copy state have no influence on the content of the history, we can safely skip these checks. The working copy context class have a different 'match' implementation. That implementation still use the repo.auditor will still catch symlink traversal. I've audited all stuff calling "match" and they all go through a ctx in a sensible way. The most unclear case was diff which still seemed okay. You raised my paranoid level today and I double checked through tests. They behave properly. The odds of someone using the wrong (matching with a changectx for operation that will eventually touch the file system) is non-zero because you are never sure of what people will do. But I dunno if we can fight against that. So I would not commit to "never" for "at this level" and "in the future" if someone write especially bad code. However, as a last defense, the vfs itself is running path auditor in all cases outside of .hg/. So I think anything passing the 'matcher' for buggy reason would growl at the vfs layer.

File last commit:

r24191:8fe5fc8d default
r27234:15c6eb0a default
Show More
hgignore.5.txt
34 lines | 716 B | text/plain | TextLexer
==========
hgignore
==========
---------------------------------
syntax for Mercurial ignore files
---------------------------------
:Author: Vadim Gelfer <vadim.gelfer@gmail.com>
:Organization: Mercurial
:Manual section: 5
:Manual group: Mercurial Manual
.. include:: hgignore.5.gendoc.txt
Author
======
Vadim Gelfer <vadim.gelfer@gmail.com>
Mercurial was written by Matt Mackall <mpm@selenic.com>.
See Also
========
|hg(1)|_, |hgrc(5)|_
Copying
=======
This manual page is copyright 2006 Vadim Gelfer.
Mercurial is copyright 2005-2015 Matt Mackall.
Free use of this software is granted under the terms of the GNU General
Public License version 2 or any later version.
.. include:: common.txt