cpplint: Fix --root for non-subdirectories

Using cpplint.py --root with directories at a more outer level
than the repository would not work.

For example given

  /a/b/c/.git/filename.cpp

Trying to use --root=/a/b would get ignored, and it would
ask for a headerguard of FILENAME_H_ instead of C_FILENAME_H_
as expected.

Now --root will always use the "full name" and then strip off --root
prefix, giving us the desired effect.
This commit is contained in:
Igor Murashkin 2017-11-06 15:00:05 -08:00
parent ec88ff999b
commit a38fcbb5b0

2
cpplint/cpplint.py vendored
View File

@ -1777,6 +1777,8 @@ def GetHeaderGuardCPPVariable(filename):
fileinfo = FileInfo(filename) fileinfo = FileInfo(filename)
file_path_from_root = fileinfo.RepositoryName() file_path_from_root = fileinfo.RepositoryName()
if _root: if _root:
file_path_from_root = fileinfo.FullName()
suffix = os.sep suffix = os.sep
# On Windows using directory separator will leave us with # On Windows using directory separator will leave us with
# "bogus escape error" unless we properly escape regex. # "bogus escape error" unless we properly escape regex.