Mercurial отказывается игнорировать артефакты оболочки Gradle

Мой файл .hgignore выглядит так:

syntax: glob

# mercurial files
*.orig
*.rej

# build target and dependency directories
*/target/**
*/target-eclipse/**
.gradle/**
.gradle
*.war
*/wrapper/**
!gradle/wrapper/gradle-wrapper.jar
!gradle/wrapper/gradle-wrapper.properties
*/out/**
*/build/**

# IDE files
.idea/**
.settings/**
*.iml
*.ipr
*.iws
*.classpath
*.project

# LazyBones
.lazybones/**

# DropWizard
config.yml
config.json

# JMeter Results
*/jmeter/results/*

Обратите внимание на мою попытку исключить gradle/wrapper/* из этого файла игнорирования:

!gradle/wrapper/gradle-wrapper.jar
!gradle/wrapper/gradle-wrapper.properties

Когда я запускаю gradle wrapper в своем проекте, он генерирует типичные файлы-оболочки Gradle. Однако, когда я hg add, я не вижу эти файлы (gradle-wrapper.jar и gradle-wrapper.properties), добавленные в отслеживание hg, и когда я отправляю свой проект (hg push), я не вижу их в удаленном репо.

Я как-то неправильно настроил .hgignore? действительно ли hg по-прежнему игнорирует мои артефакты оболочки Gradle?


person smeeb    schedule 26.03.2015    source источник
comment
Я не могу найти никакой документации по синтаксису ! в hg help hgignore. Вы уверены, что hg действительно поддерживает исключение? Можете ли вы предоставить документацию по нему?   -  person Kevin    schedule 26.03.2015
comment
Это может быть корнем моей проблемы @Kevin, я приезжаю из git-land. Но в гугле hg exclude я не вижу никаких доказательств того, что .hgignore даже поддерживает исключения... есть идеи? Спасибо и +1!   -  person smeeb    schedule 26.03.2015


Ответы (1)


Для двух конкретных файлов вы должны просто добавить их вручную:

hg add gradle/wrapper/gradle-wrapper.jar gradle/wrapper/gradle-wrapper.properties
hg commit

Это будет работать, даже если они будут проигнорированы, и изменения будут автоматически подхвачены последующими фиксациями.

person Kevin    schedule 26.03.2015