Как настроить NetBeans Subversion для большого проекта со многими SVN: Externals - PullRequest
2 голосов
/ 26 апреля 2011

В проекте у нас есть несколько SVN: включает в себя, чтобы вытащить фреймворк и некоторые сторонние плагины. Поскольку сама среда (Symfony) включает в себя множество других вложенных библиотек через svn: externals, для NetBeans может потребоваться много времени, чтобы завершить свою фоновую работу по автоматическому «сканированию проектов». Иногда он полностью зависает при выполнении части «Проверка внешних изменений».

Я попытался обойти эту проблему, отключив «Сканирование на наличие внешних изменений», но, похоже, это только уменьшает частоту проблемы, создавая новые неудобства, а не решая ее.

Я надеюсь, что кто-то знает способ сказать сканированию SVN ТОЛЬКО просматривать НАШ репозиторий на наличие изменений (которые должны занимать всего пару секунд), а не вложенные внешние репозитории. Аналогично использованию команды CLI svn update --ignore-externals.

Справочная информация: Запуск NetBeans 6.9.1 в OS X 10.6.

1 Ответ

3 голосов
/ 26 апреля 2011

Вы можете добавить --ignore-externals ко многим подкомандам svn, например, svn update --ignore-externals или svn st --ignore-externals, но вам нужно будет посмотреть, как вы можете заставить Netbeans делать это, поскольку у него есть собственный клиент svn.

Вы можете настроить Netbeans на использование командной строки svn, используя следующий параметр:

-J-DsvnClientAdapterFactory=commandline

http://wiki.netbeans.org/FaqSvnCli

Но, кроме того, я не очень разбираюсь в svn / netbeans, чтобы обеспечить это. Одна вещь, которую я сделал в Windows с TortoiseGit, заключалась в том, чтобы указать TortoiseGit на git.cmd и выполнить некоторую обработку там, а затем заставить git.cmd вызвать git.exe из msysgit. Вы можете попробовать это. Задайте путь к другому скрипту, который у вас есть, который затем будет вызывать двоичный файл svn, как показано ниже?

#!/bin/bash
svn $* --ignore-externals

и назовите его svn, сделайте его исполняемым и, возможно, поместите его в путь.

(проверьте, является ли подкоманда обновлением или состоянием, а затем добавьте --ignore-externals, если необходимо, поскольку Netbeans, я думаю, просто анализирует выходные данные из клиента командной строки svn, и дополнительный вывод Subcommand doesn't accept --ignore-externals может испортить его обработку )

Да, нет точного ответа, но я записал свой мыслительный процесс.

...