Как остановить Egit при добавлении дополнительных исходных папок в Flash Builder

Я использую Flash Builder 4.6 (Eclipse 3.7) и Git (плагин eGit).

В моем проекте есть несколько дополнительных исходных папок, настроенных в "Build Path > Source path". Когда я запускаю коммит, по какой-то причине eGit видит эти внешние файлы и хочет добавить и зафиксировать их с помощью следующих путей:

[source path] fruit/com/company/Apple.as
[source path] fruit/com/company/Banana.as

Очевидно, что вне проекта они вообще не должны рассматриваться eGit; тем не менее я пробовал различные шаблоны в моем.gitignore, чтобы игнорировать их, но ничего не получалось:

fruit
[source*
[source path] fruit/com/company/Apple.as
\[*

Используя msysgit, команда git commit -a --dry-run не пытается зафиксировать эти файлы, так что, похоже, дело в eGit / Flash Builder.

Как я могу игнорировать эти файлы?

2 ответа

Решение

Первым шагом является обеспечение того, чтобы при игнорировании каталога путь игнорируемого каталога заканчивался / в вашем .gitignore:

fruit/

Это будет игнорировать fruit каталог в каталоге .gitignore (поэтому убедитесь, что место сказал .gitignore в нужном месте)

Тем не менее, в отношении связанной папки (что к чему fruit есть, как упоминает Fletch в комментарии), .gitignore не будет работать
Связанная папка должна игнорироваться по умолчанию EGit: см. Ошибку 333338.
Патчи написаны, но еще не интегрированы в последнюю версию EGit.

Обновление: Начиная с EGit 2.3 (февраль 2013 г.), связанные папки теперь игнорируются в Egit.

Вот решение, которое мы можем использовать, пока не установим последнюю версию EGit в Flash Builder 4.6+ (в настоящее время существует проблема с зависимостями). Допустим (как предполагается), что у вас есть связанный ресурс, определенный таким образом:

[source path] fruit/com/company/Banana.as

Вы можете вручную добавить все файлы и папки, расположенные в [source path] fruit к .gitignore файл с помощью * или же ** подстановочные знаки:

**/com/company/Banana.as

Так как ** Подстановочный знак соответствует любому уровню каталогов, вы должны быть уверены, что пути и / или имена файлов являются уникальными и не могут быть найдены в другом месте в проекте. Но, поскольку вы используете соглашение об именовании обратного DNS, это решение может быть всем, что вам нужно.

Другие вопросы по тегам