[all-commits] [llvm/llvm-project] 9b55bc: [clangd] Store index in '.cache/clangd/index' inst...
Sam McCall via All-commits
all-commits at lists.llvm.org
Tue Jul 7 05:54:11 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 9b55bc4d1197aedd76b0f4e04270265cb74cd0b8
https://github.com/llvm/llvm-project/commit/9b55bc4d1197aedd76b0f4e04270265cb74cd0b8
Author: Sam McCall <sam.mccall at gmail.com>
Date: 2020-07-07 (Tue, 07 Jul 2020)
Changed paths:
M .gitignore
M clang-tools-extra/clangd/index/Background.h
M clang-tools-extra/clangd/index/BackgroundIndexStorage.cpp
M clang-tools-extra/clangd/test/background-index.test
M llvm/.gitignore
Log Message:
-----------
[clangd] Store index in '.cache/clangd/index' instead of '.clangd/index'
Summary:
.clangd/index was well-intentioned in 2754942cbaef, but `.clangd` is the best
filename for the clangd config file (matching .clang-format and .clang-tidy).
And of course we can't have both .clangd/index and .clangd...
There are a few overlapping goals to satisfy:
- it should be clear from the directory name that this is transient
data that is safe to delete at the cost of recomputation, i.e. a cache
- it should be easy and self-documenting to blacklist these files in .gitignore
- we should have some consistency between filenames in-tree and
corresponding files in user storage (e.g. under XDG's ~/.cache/)
- we should be consistent across platforms (including windows, which
doesn't have distinct cache vs config directories)
So the plan is:
$PROJECT/.clangd (project config)
$PROJECT/.cache/clangd/index/ (project index)
$PROJECT/.cache/clangd/modules/ (maybe in future)
$XDG_CONFIG_HOME/clangd/config.yaml (user config)
$XDG_CACHE_HOME/clangd/index/ (index of non-project files)
$XDG_CACHE_HOME/clangd/modules/ (maybe in future)
This is sensible if XDG_{CONFIG,CACHE}_HOME coincide, and has a simple
.gitignore rule going forward: `.cache/`.
The monorepo gitignore is updated to reflect the backwards-compatible practice:
ignore .clangd/ (with trailing slash) matching index files from clangd 9/10
ignore .cache matching index from clangd 11+, and potentially other tools.
The entries from llvm-project/llvm gitignore are removed (obsolete).
Reviewers: kadircet, hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, omtcyfz, arphaman, usaxena95, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D83099
More information about the All-commits
mailing list