2009-08-12 1 views
48

Обычно мы используем Eclipse для конкретного Java-проекта, но недавно я импортировал проект в NetBeans, чтобы использовать его функции построения диалога.Какие файлы проектов NetBeans должны войти в исходный контроль?

Поскольку я, вероятно, вернусь к этому, я хотел сохранить файлы проекта NetBeans в контроле версий. Однако я не хочу фиксировать файлы, которые являются «моими» или «проектами», то есть файлы с моими собственными настройками, которые конфликтуют с другим пользователем.

NetBeans создали следующую структуру в проектной зоне верхнего уровня:.

nbbuild 
nb-build.xml 
nbproject 
    <various files> 
    configs 
    private 

Ясно nbbuild является построить выход, так что не будет идти в файл nb-build.xml кажется вероятным, как это делает большинство nbproject. Однако nbproject/private предполагает, что это «мое». Подглядывание в «configs», мне непонятно, если это мой или проект ...

У кого-нибудь есть рекомендации?

ответ

47

NetBeans knowledge base article on project files & version control обсуждает файлы проекта NetBeans, без лишних советов о том, какие файлы имеют конкретный проект (т. Е. Можно использовать с помощью контроля версий) и которые являются специфичными для пользователя.

Вот раздел о системе управления версиями:

Если проект извлечен из системы контроля версий, то build (или nbbuild), dist (или nbdist), а nbproject/private папки не должно быть проверяется в этой системе контроля версий.

Если проект находится под системами контроля версий CVS, Subversion или Mercurial, соответствующие файлы «игнорировать» создаются или обновляются для этих каталогов при импорте проекта.

Хотя nbproject/private следует игнорировать, nbproject следует проверить в системе контроля версий. nbproject содержит метаданные проекта, которые позволяют другим пользователям открывать проект в NetBeans без необходимости импорта проекта в первую очередь.

+4

Предоставленные чернила сломаны. Это по сути делает этот ответ бесполезным. – Kenneth

+2

Найдена копия ссылки, заархивированной по адресу https://web.archive.org/web/20090216193025/http://www.netbeans.org/kb/docs/java/import-eclipse.html. – Nathan2055

+1

Как насчет 'nbactions.xml'? –

2

Отсутствует.

Исходные файлы, скрипты сборки и документация, которые не генерируются автоматически (например, - вывод таких инструментов, как JavaDoc и Doxygen), должны быть проверены в репозитории. Такие вещи, как файлы проекта, двоичные файлы и сгенерированная документация, не должны быть проверены.

Причина в двух вариантах. Во-первых, вы не хотите перезаписывать настройки проекта другого разработчика самостоятельно. Во-вторых, другие разработчики могут не использовать те же IDE, что и вы (или даже IDE вообще), поэтому не давайте им больше, чем нужно для их создания (проект или связанная с ним документация) или запускать проект.

+9

Очевидно, что вы не собираетесь добавлять вывод сборки (включая JavaDocs). Но я сомневаюсь, что лучший ответ - «нет». Затем каждому разработчику необходимо будет установить общие параметры проекта на местном уровне, включая простые вещи, например, какие источники являются исходными, или какой уровень JDK для создания. Не разделяя эту информацию о настройке проекта, мы бы поставили перед собой проблемы. Например, я пишу код, который работает на 1,6, но наш проект отправляется на 1,5. Я совершаю это и разбиваю сборку. –

+0

Когда я импортирую проект с Eclipse, для меня тривиально идентифицировать исходные каталоги и JDK для построения. Кроме того, должен быть сценарий сборки, который делает это для меня, поскольку я вообще не могу использовать IDE (а скорее текстовый редактор - Notepad ++, emacs, vim). Каждое задание, которое у меня когда-либо имело, которое использовало исходный контроль, содержало только исходные файлы и документацию, сгенерированную человеком, в репозиторий, и я никогда не видел проблемы. –

+5

Я не согласен с этим. Я думаю, что это упрощает работу, если все разработчики используют один и тот же IDE и версию. Файлы проекта должны быть проверены - это означает, что каждый разработчик не должен прыгать через обручи, настраивая свою среду каждый раз, когда им нужно работать с источником. Если каждый проверяет проекты и зависимые проекты и JAR в одном и том же местоположении или относительной структуре пути, они должны иметь возможность проверять и нажимать на один шаг. Слишком много времени потрачено впустую, если каждый человек должен повторно настроить проект и исправить поврежденные зависимости все время –

19

Оказалось, что оба Томаса & Petercardona являются правильными, в некотором роде. NetBeans рекомендует импортировать только исходный код и/или документацию. Ох и папка nbproject, но не папки * nbproject/private **.

От NetBeans Knowledge Base article on importing Eclipse projects:

Вопросы контроля версий

Если проект извлечен из системы управления версии, сборки (или nbbuild), расстояние (или nbdist), и nbproject/private папки не должны быть проверены в этой системе управления версиями .

Если проект находится под CVS, Subversion или Mercurial системы контроля версий , соответствующие файлы «игнорирующие» созданы или обновлены для этих каталогов, когда проект импортируется.

Хотя nbproject/частные должны быть игнорироваться, nbproject должны быть проверены в систему управления версиями. nbproject содержит метаданные проекта, которые позволяют другим пользователям открывать проект в NetBeans без необходимости импортировать проект в первую очередь.

+2

То же самое сообщение, которое я разместил выше, нет? Я думаю, что существует разница между * importing * только источником и * проверкой * файлов проекта. Когда я прочитал это, первое означает, что файлы встраиваются в среду IDE NetBeans, а последняя означает перенос файлов в элемент управления версиями и включает файлы настройки проекта. Мой вопрос касался последнего. Я хочу поделиться файлами, которые определяют, как создается сборка (стандартизованные местоположения jar, уровень jdk), но не управляйте такими вещами, как настройки форматирования, макеты окон IDE и т. Д. –

2

В протестирована с Netbeans 6.8, только project.xml, configurations.xml и основной Makefile (настраиваемый один в родительской директории в 'nbproject' директории, с определениями до/после целевых) должны быть распределены через хранилище. Все остальные файлы будут автоматически (повторно) созданы Netbeans (Makefile-impl.ml, Makefile-variables.ml, все Makefile-$CONF, Package-$CONF.bash). Очевидно, что «частный» дир должен быть проигнорирован.