Как заставить Mercurial игнорировать swp-файл Vim?

#vim #mercurial #hgignore

#vim #mercurial #hgignore

Вопрос:

Я пытался внести некоторые изменения, пока у меня были открыты некоторые файлы в vim, и при фиксации, слиянии и сортировке в итоге получилось:

 alex@adebian:~/cs4290/p3$ hg status
R test
! project3_framework/protocols/.MI_protocol.cpp.swp
! project3_framework/protocols/.MSI_protocol.cpp.swp
  

Я добавил .hgignore файл в свой проект со следующим:

 syntax: glob
*.cpp.swp
  

С тех пор я закрыл свой сеанс vim (удалив файлы), но файлы продолжают отображаться. Как мне заставить mercurail игнорировать swp-файлы?

Ответ №1:

! знак означает, что mercurial не может найти файл, который уже был добавлен в репозиторий. Итак, сначала вам нужно forget или remove эти файлы. После этого — они больше не будут отображаться в status , поскольку вы их проигнорировали.

Ответ №2:

Я согласен с zerkms… forget или remove от этих файлов избавиться ! . Кроме того, как вы, вероятно, заметили, простое создание файла .hgignore с некоторым содержимым не приводит к просмотру репозитория и удалению соответствующих файлов. Если вы добавили foo.c в свой проект, а затем создали следующий .hgignore:

 syntax: glob
*.c
  

foo.c он по-прежнему будет частью проекта — вам нужно будет явно удалить его.

Ответ №3:

Вы можете использовать set directory=c:\workfiles\ в своем .vimrc для записи файлов подкачки в «специальную» папку

Комментарии:

1. Это полезный обходной путь. Единственным недостатком является наличие двух файлов из разных папок с одинаковым именем.

2. Только что попробовал это на моем linux-сервере, получил файл с именем index.php.swp index.php.swo. Кажется, работает, по крайней мере, для меня.