Mercurial ignore-файл для разработки Eclipse и Android
Я видел примеры для Mercurial игнорировать файлы для Visual Studio, среди других.
Я только начал играть с разработкой для Android, и я также использую это время для экспериментов с Mercurial. Поэтому мой вопрос: есть ли у кого-нибудь хороший пример .hgignore
файл для использования в Eclipse и Android?
Для начала я получил следующее:
# use glob syntax
syntax: glob
# Ignore patterns
.metadata\
bin\
gen\
Есть ли другие шаблоны игнорирования, которые следует включить? Должны, например, файлы Eclipse.classpath
а также.project
быть исключенным из контроля версий?
- Изменить ниже -
Я еще не совсем получил ответы, на которые надеялся, поэтому выложу награду и попытаюсь уточнить, что я ищу.
После небольшого эксперимента я, кажется, обнаружил, что .hgignore
перечисленное выше представляется достаточным. Единственное добавление, которое я сделал, это одна строка с.settings
(это была папка, которая появилась после того, как я запустил Инструменты Android -> Исправить свойства проекта). Я также обнаружил, что (как упомянуто Ry4an), что файлы Eclipse .classpath
а также.project
не должно быть исключено.
Однако я не уверен, что этого небольшого файла игнорирования будет достаточно, когда я доберусь до проектов, которые немного больше, чем базовые учебные пособия (если все действительно хорошо, объясните, почему, и вы получите должное). Итак, подведем итог, что я ищу:
- Я хочу конкретный пример для
.hgignore
файл для проекта Android под Eclipse - Файл игнорирования должен быть таким, чтобы всякий раз, когда я извлекал копию хранилища в новом месте, он работал сразу (т.е. без необходимости связываться с путями и ссылками, добавлять недостающие файлы и т. Д.)
- Пожалуйста, объясните, почему ваш файл включения выглядит так (я хочу понять, почему некоторые файлы / каталоги исключены (и почему некоторые из них обязательно должны быть включены))
- Если вы включаете исключения для конкретных ОС, пожалуйста, укажите это (я работаю на Windows 7, кстати).
5 ответов
Файлы затмения обязательно должны быть добавлены. Общее руководство состоит в том, чтобы добавить:
- все, что написано от руки / напечатано
- минимальное подмножество всего остального, необходимого для построения проекта
В этот последний момент приходит ваше мнение. Он явно исключает файлы.jar, которые вы создаете сами, и ваш окончательный файл.apk, но включает ли он стороннюю версию.jar, которую вы используете? Некоторые люди включают их, но лучше включить файл конфигурации для менеджера зависимостей, такого как "ivy", который позволяет следующему сборщику автоматически загружать необходимые им требования.
После автоматического создания проекта в моих инструментах выбора я просто сделаю такую команду:
hg status --unknown --no-status >> .hgignore
который добавляет список всех неизвестных файлов в.hgignore. Затем я вхожу и удаляю вещи, которые хочу сохранить (например:.project) и файлы подстановочных знаков, которые будут расти братьев и сестер (например: **. Class)
Вот очень хороший пример.hgignore для Android по адресу http://androidfragments.blogspot.com/2011/11/hgignore-for-android.html
Вот мой hgignore:
syntax: regexp
\.DS_Store
.swo
.swp
.metadata/
/bin/
Хорошо это или нет - это отдельная тема
Хорошо, если его проекты Android, чем
local.properties также следует игнорировать
Я нашел хороший пример.hgignore. Меня устраивает.
#Mercurial Ignore Rules for Android
#Save as .hgignore in the repository base directory and add it to source control.
syntax: glob
*.class
*.apk
*.dex
*.ap_
*.suo
syntax: regexp
^(.*[\\/])?gen[\\/].*
^(.*[\\/])?bin[\\/].*
^(.*[\\/])?obj[\\/].*
^(.*[\\/])?log[\\/].*
^(.*[\\/])?obf[\\/].*
^(.*[\\/])?jars[\\/].*
^(.*[\\/])?jar-sources[\\/].*
^(.*[\\/])?javadoc[\\/].*
^(.*[\\/])?\.svn[\\/].*
^(.*[\\/])?\.metadata[\\/].*
^(.*[\\/])?\.settings[\\/].*
Источник: http://androidfragments.blogspot.ru/2011/11/hgignore-for-android.html