svnsync, размер исходного хранилища не совпадает с размером хранилища - PullRequest
1 голос
/ 20 апреля 2011

В настоящее время у меня есть сервер, на котором размещено несколько Subversion репозиториев.На другом сервере я зеркалирую производственные репозитории, используя svnsync .На зеркальном сервере необходимо синхронизировать более 100 репозиториев, для большинства из них они имеют одинаковый размер (не размер на диске) на обоих серверах.

Меня беспокоит то, что для некоторых из них размер нарабочий сервер и зеркальный сервер не совпадают (разница в 100 МБ + для некоторых из них).

Мой вопрос к вам, ребята: это нормально и почему это происходит?

Некоторая дополнительная информация, чтобы лучше понять мою ситуацию:

  • Оба сервера работают под управлением Windows Server 2003,
  • Производственный сервер использует Subversion 1.6.6,
  • Зеркальный сервер использует Subversion 1.6.13,

Я также провел следующие тесты:

  1. Извлечен поврежден репозиторий изпроизводство и из зеркала (в последней редакции) и сравнили их журнал и размер, и они оба одинаковы.На данный момент это не является окончательным, но, по крайней мере, они оба, кажется, работают.

  2. использовал команду svnsync с сервера, используя Subversion 1.6.6, чтобы проверить размер синхронизированногорепозиторий и я получаю те же результаты, как если бы я синхронизировался с зеркальным сервером с использованием Subversion 1.6.13.

  3. Сравнил оба формата из репозиториев (тот, который был создан на рабочем сервере с использованием Subversion 1.6.6 и тот, который создан для команды svnsync), и оба они одинаковы, используя макет fsfs 4, огражденный 1000 с форматом 5 .

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ: формат для ясности.

1 Ответ

1 голос
/ 20 апреля 2011

Есть несколько способов для репозиториев svnsync'd разных размеров. К ним относятся:

Один из репозиториев мог быть упакован с использованием svnadmin pack, что может значительно изменить размер.

Свойства неверсионной ревизии для каждой ревизии копируются, когда ревизия синхронизируется, но возможно, что свойства ревизии в одном репозитории будут изменены / добавлены / удалены после синхронизации. (100 МБ звучит маловероятно, но возможно.)

Повторное совместное использование (см. Fsfs.conf) может быть включено в одном репозитории FSFS, а не в другом. Совместное использование репы может увеличить или уменьшить размер репозитория, это зависит от того, занимает ли индекс больше места, чем экономит совместное использование.

Если используются эксклюзивные блокировки файлов Subversion, они занимают место в главном репозитории. Они не копируются svnsync. Существовала давняя ошибка, из-за которой замки занимали место после освобождения, см. выпуск 3667 .

На диске репозиторий - это просто дерево каталогов файлов. Можно поместить произвольные файлы без хранилища в дерево каталогов хранилища. Любые такие файлы никогда не копируются svnsync.

...