Скрытые файлы ревизий Subversion - PullRequest
3 голосов
/ 01 декабря 2008

Вы знаете, как Subversion хранит копию каждого извлеченного файла в скрытых папках .svn? Веб-сайт, который я создаю, довольно большой (имеет более 1 ГБ файлов PDF). Эти PDF-файлы очень редко меняются на протяжении всего существования веб-сайта.

Мне было интересно, есть ли способ сообщить Subversion, что он не должен хранить локальную копию ревизии определенного набора файлов (мои PDF-файлы), а просто синхронизируется с сервером всякий раз, когда вносится изменение в любой из этих файлов? файлы

Ответы [ 4 ]

3 голосов
/ 01 декабря 2008

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

Так что нет, нет способа не хранить файлы внутри папок .svn, что все же позволяет вам фиксировать эти файлы

2 голосов
/ 01 декабря 2008

Идея в другом ключе: если вы используете Bazaar + bzr-svn или Git + git-svn, они сохраняют намного более компактную рабочую копию, и вы все равно можете обновить ее прямо из своего хранилища.

1 голос
/ 01 декабря 2008

Как говорит Грег, используйте экспорт SVN, но выполните экспорт SVN в локальный каталог, а затем выполните rsync для этого локального каталога на удаленный сайт.

Это дает вам комбинацию из (а) отсутствия каталогов .svn и (б) только отправки изменений из локальной системы на удаленный.

Если это не так, как предложили Грег и Орип, выполнить удаленную проверку с помощью 'git-svn'. Он по-прежнему имеет некоторые накладные расходы по сравнению с пространством, используемым для экспорта SVN, но он будет меньше, чем полная рабочая копия SVN.

1 голос
/ 01 декабря 2008

Возможно, вы захотите рассмотреть «живую» копию вашего сайта, используя svn export вместо оформления заказа. Это полностью исключило бы проблему больших файлов в папках .svn.

Ваш рабочий процесс может быть таким:

  1. Локальное редактирование файлов, тестирование в тестовом развертывании
  2. Передать изменения в хранилище
  3. Запустите svn export из репозитория в работающую систему

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

На самом деле, мне приходит в голову, что я не знаю, обеспокоены ли вы этими скрытыми файлами PDF в вашей рабочей проверке или при развертывании сервера. Если это в вашей рабочей проверке, то я не знаю, как избежать этих файлов с помощью Subversion. Однако если вы используете Git с git-svn, то Git будет управлять собственной сжатой историей без полных копий всех файлов.

...