Как я могу ускорить обновления SVN?

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
26
задан Peter Mortensen 18 December 2016 в 22:00
поделиться

10 ответов

Если это - более старый репозиторий SVN (или даже довольно новый, но не была установка оптимально), это, возможно, использование более старого стиля BDB хранилища данных. http://svn.apache.org/repos/asf/subversion/trunk/notes/fsfs имеет примечания по новому. Измениться от одного до другого isn; t слишком трудно - выводят всю историю, повторно инициализируют его с новым svn форматом файловой системы и переимпорта. Может также быть полезно одновременно отфильтровать repo-дамп для удаления всего checkins бесполезной информации (я, например, удалил 20 МБ + tarball файлы, в которых кто-то зарегистрировался).

, Насколько общая скорость идет - качество (быстрый) жесткий диск и дополнительная память для основанного на ОС кэширования были бы тверды дать сбой с точки зрения увеличения скорости того, как SVN будет работать.

На стороне клиента, если у Вас есть установка tortoisesvn через PuttyAgent для доступа SSH к машине внешнего репозитория, можно также включить сжатие SSH, которое может также помочь.

Редактирование: SVN v1.5 также имеет инструмент fsfs-reshard.py , который может помочь разделить базирующийся репозиторий SVN FSFS на многие каталоги - который может самостоятельно быть связан на различные шпиндели диска. Если у Вас есть тысячи изменений, которые могут также помочь - если ни по какой другой причине, чем нахождение одного файла среди тысяч занимает время (и Вы говорите, говорят - ли это проблема путем рассмотрения времен IOwait)

14
ответ дан martin clayton 28 November 2019 в 07:14
поделиться

Кажется, что у Вас есть несколько проектов в одном репозитории. Разделение их в соответствующих случаях даст Вам большое повышение.

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

4
ответ дан ceejayoz 28 November 2019 в 07:14
поделиться

Едва ли ответ, но может быть интересно знать, что одной из причин svn является так I/O-heavy, то, что это хранит одну дополнительную копию каждого файла в .svn/text-base каталог. Это делает локальные различные операции быстро, но ест партию пространства на жестком диске и ввода-вывода.

http://subversion.tigris.org/issues/show_bug.cgi?id=525 имеет детали.

5
ответ дан Erik Forsberg 28 November 2019 в 07:14
поделиться

Существуют некоторые общие тонкие настройки производительности. SVN является очень тяжелым вводом-выводом, поэтому более быстрые жесткие диски являются опцией (на обоих концах). Добавьте больше памяти к своему серверу. Удостоверьтесь, что у Ваших клиентов есть дефрагментируемый жесткий диск (для Windows).

, Какой метод доступа Вы используете также вопросы. Репозитории, сохраненные в удаленных файловых системах (использующий доступ file:///), будут намного медленнее или, чем svnserve или, чем Apache с mod_svn. Рассмотрите использование одного из последних, если у Вас есть репозиторий на простой доле файла.

3
ответ дан Peter Mortensen 28 November 2019 в 07:14
поделиться

Удостоверьтесь, что Ваше соединение с сервером является быстрым, как может быть (Gigabit Ethernet). Удостоверьтесь, что сервер имеет быстрые диски в массиве. И, конечно, только выезд, в чем Вы нуждаетесь.

3
ответ дан WildJoe 28 November 2019 в 07:14
поделиться

TotoiseSVN взглядами по умолчанию на файл изменяется в фоновом режиме, и я видел, что замедляют мою машину. Я изменил конфигурацию, чтобы исключить все и затем только, чтобы включать каталоги, где у меня есть контроль. Можно также выключить проверки данных. Обе из этих настроек находятся в узле настроек Icon Overlays.

2
ответ дан James A. N. Stauffer 28 November 2019 в 07:14
поделиться

Я нашел в своем собственном опыте (т.е.: не через любой фактический тесты), что, особенно если SVN repo сервер является удаленным, использование внешнего облика, кажется, замедляет вещи. Если бы Вы копировали код (как Ваш редактор FCK) в нескольких местах, я был бы склонен придерживаться использования внешнего облика начиная с хранения тех файлов, синхронизируемых, и управляемых более важно, чем скорости обновления - хотя, Вы могли посмотреть на использование символьных ссылок для введения дублированного кода вместо этого. (При использовании Windows XP можно использовать точки соединения ).

1
ответ дан nickf 28 November 2019 в 07:14
поделиться

Мы разделили нашу кодовую базу на несколько одноуровневых модулей и записали скрипты Ant так, чтобы один разработчик мог работать над одним модулем за один раз, не беспокоясь слишком много о том, что происходит в других модулях.

  • сценарий сборки верхнего уровня инициировал все сценарии сборки модулей
  • , внешние библиотеки не сохранены в Подрывной деятельности, а скорее вытянуты от сетевого диска с помощью Apache Ivy. (думайте о нем как внутренний репозиторий Знатока).
  • зависимостями между модулями также управляют с помощью Ivy.

Как правило, разработчики должны будут обновить свое все дерево пару раз неделя, но оно может легко быть сделано прежде, чем идти в ланч/перерыв на кофе.

1
ответ дан Vladimir 28 November 2019 в 07:14
поделиться

Если у Вас будет много папок в корне репозитория, и Ваша локальная копия отражает репозиторий, то попытайтесь разрезать монолитную локальную копию в длину во многие разделенные загружаемые папки и обновить эти папки отдельно также, Это будет действительно быстрее, чем одна большая папка.

0
ответ дан noetic 28 November 2019 в 07:14
поделиться

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

10
ответ дан 28 November 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: