Mercurial ignore-файл для разработки Eclipse и Android - PullRequest
21 голосов
/ 09 сентября 2010

Я видел примеры файлов игнорирования 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 ]

13 голосов
/ 09 сентября 2010

Файлы eclipse обязательно должны быть добавлены. Общее руководство состоит в том, чтобы добавить:

  • все, что написано от руки / напечатано
  • минимальное подмножество всего остального, необходимого для построения проекта

Это последнее, где приходит ваше суждение. Оно явно исключает .jar-файлы, которые вы создаете сами, и ваш окончательный .apk, но включает ли он стороннее .jar, которое вы используете? Некоторые люди включают их, но лучше включить файл конфигурации для менеджера зависимостей, такого как 'ivy', который позволяет следующему сборщику автоматически загружать необходимые им требования.

После автоматического создания проекта в моих инструментах выбора я просто сделаю команду, подобную этой:

hg status --unknown --no-status >> .hgignore

, который добавляет список всех неизвестных файлов в .hgignore. Затем я вхожу и удаляю вещи, которые хочу сохранить (например, .project), и файлы подстановочных знаков, которые будут содержать братьев и сестер (например, **. Class)

8 голосов
/ 12 сентября 2012

Есть очень хороший пример .hgignore для Android на http://androidfragments.blogspot.com/2011/11/hgignore-for-android.html

5 голосов
/ 09 сентября 2010

Вот мой hgignore:

syntax: regexp
\.DS_Store
.swo
.swp
.metadata/
/bin/

Является ли это хорошим или нет, это отдельный вопрос

1 голос
/ 04 июля 2014

Я нашел хороший пример .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

1 голос
/ 09 сентября 2010

хорошо, если его проекты для Android, кроме

local.properties, также следует игнорировать

...