如何使符号链接的git存储库尊重其在Projectile中的父项目?

时间:2019-04-13 04:30:36

标签: git emacs symlink spacemacs projectile

我对spacemacs和emacs完全陌生。我从vim切换到spacemacs,希望对非“兄弟”目录有更好的项目支持。

我当前正在使用Source Dedicated Server安装中的文件夹,因此有成千上万个我无法控制的文件和文件夹,我不在乎。读为:不需要,永远也不需要,不需要查看,搜索或编辑。我可以安全地假装这些文件不存在。

对于上下文,我的SRCDS实例的安装目录为/mnt/c/dayz/

我仅想在Projectile(和neotree)中看到的文件夹如下:

/mnt/c/dayz/garrysmod/gamemodes/dayz
/mnt/c/dayz/garrysmod/addons/dz_chernarus
/mnt/c/dayz/garrysmod/addons/fas2-sweps
/mnt/c/dayz/garrysmod/addons/gdbc
/mnt/c/dayz/garrysmod/addons/willbox
/mnt/c/dayz/garrysmod/addons/xmod

请注意,每个目录的根目录都包含一个git存储库。

我尝试在~/projects/dayz内创建一个文件夹,其中包含一个空的.projectile文件,该文件带有指向我想要的那些文件夹的符号链接(查看下面的ls输出)。但是,似乎符号链接沿用了它们的起源,并且射弹/新树自动进入了这些项目(编辑/mnt/c/dayz/garrysmod/gamemodes/dayz/dayz.txt会将我移至/mnt/c/dayz/garrysmod/gamemodes/dayz项目,而不是将我留在~/projects/dayz之内

~/projects/dayz/ > ls

.projectile
dayz -> /mnt/c/dayz/garrysmod/gamemodes/dayz
dz_chernarus -> /mnt/c/dayz/garrysmod/addons/dz_chernarus
fas2-sweps -> /mnt/c/dayz/garrysmod/addons/fas2-sweps
gdbc -> /mnt/c/dayz/garrysmod/addons/gdbc
willbox -> /mnt/c/dayz/garrysmod/addons/willbox
xmod -> /mnt/c/dayz/garrysmod/addons/xmod

我还考虑过反转符号链接,以使源驻留在我实际上想做的~/projects目录中,但是最终我回到了我的第一个尝试解决方案,它将自动切换项目由于符号链接的扩展以及搜索功能的中断。

此外,打开~/projects/dayz/项目,我无法使用SPC p f搜索符号链接的子目录

我在包含以下内容的.projectile中创建了以下/mnt/c/dayz/文件

+garrysmod/gamemodes/dayz
+garrysmod/addons/xmod
+garrysmod/addons/gdbc
+garrysmod/addons/willbox
+garrysmod/addons/fas2-sweps
+garrysmod/addons/dz_chernarus
+garrysmod/data/dayz-data

-*.vvd
-*.vtx
-*.phy
-*.mdl
-*.vtf
-*.vmt
-*.png
-*.gma
-*.jpg
-*.exe
-*.dll

这在一定程度上起作用。但是,+'d目录似乎优先于-*'d扩展名,因此在进行SPC p f时,我仍然最终会看到二进制文件,并且存在一个巨大的缺点,即它必须搜索成千上万个文件并进行匹配违反规则(这很慢),我还有另一个项目,它也使用符号链接到上面的某些插件目录,因此该解决方案不是一个选择。

理想情况下,我想使我的第一个尝试解决方案起作用(或使用提到的反向符号链接),而Projectile不会自动切换到它们,但是我不知道从哪里开始。

0 个答案:

没有答案