2012-01-30 3 views
20

Недавно я обновил свой SVN-клиент с 1,6,9 до 1,7 и после преобразования в новый формат, я заметил, что больше нет подкаталогов .svn. Для моей конкретной конфигурации это не очень удобно.SVN больше не пишет .svn во всех подпапках?

Есть ли способ отменить это или вернуться к прежнему поведению, когда каждая подпапка из CO будет иметь .svn?

+0

Я понимаю, что мой вопрос неясен, но я попытался выполнить поиск google/bing для этого, прежде чем спрашивать, но не нашел ничего подходящего. любая помощь или указатели будут оценены. – MikeJ

+16

Какая часть SVN вы злоупотребляете, чтобы иметь удобные папки .svn? – Collin

+1

Вы всегда можете понизить ваш клиент svn (я думаю, вам нужно будет удалить его и установить более старую версию, а затем, возможно, снова получить ваш репозиторий (потому что он, по-видимому, не совместим с обратной связью). – tjarratt

ответ

38

В Subversion 1.7 имеется полная перезапись системы управления метаданными рабочей копии Subversion, с кодом WC-NG. Старая система была одной из первых частей Subversion, написанных, и со временем стало трудно поддерживать и расширять. WC-NG призвана обеспечить немедленное повышение производительности, а также позволит обеспечить многие будущие улучшения функций.

Ключевой особенностью изменений, внесенных в Subversion 1.7, является централизация хранилища метаданных рабочей копии в одном месте. Вместо каталога .svn в каждом каталоге рабочей копии рабочие копии Subversion 1.7 имеют только один .svn-каталог - в корне рабочей копии. Этот каталог включает (помимо прочего) базу данных с поддержкой SQLite, которая содержит все потребности Subversion в метаданных для этой рабочей копии.

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

Read more here.

+5

-1: этот ответ немного не по теме, как основная часть вопроса («есть ли способ вернуться к старому поведению, когда каждая подпапка будет иметь .svn?») Игнорируется. – Wizard79

+10

@ Lorenzo Я думаю, что люди должны уметь читать «нет» из предоставленного текста. – JPuge

2

Самый простой способ получить подрывные выписывать .svn каталоги в каждом каталоге, чтобы понизить подрывную до версии до серии 1.7. Subversion 1.6.23 был последней версией, которой нужно повести.

Другой способ выполнения этого, который будет работать с Subversion 1.7 и более поздними версиями, - это индивидуально проверить каждый подкаталог вашего проекта. Например, если у вас есть проект со структурой каталогов, как:

project 
`- bin 
`- etc 

Вы можете проверить это делать что-то вроде:

mkdir project 
cd project 
svn co svn+ssh://[email protected]/src/project/bin 
svn co svn+ssh://[email protected]/src/project/etc 

Это только терпимо, если у вас есть несколько каталогов и их организации неглубоко.

В противном случае лучшим вариантом будет переход на более раннюю подрывную деятельность.

Смежные вопросы