Действительно ли безопасно просто скопировать репозиторий SVN во внешний жесткий диск?

Вы можете решить эту проблему с помощью конвертера, который проверяет, следует ли вам скрывать или показывать фактический текст.
Используя MultiValueConverter, мы можем передать как исходный текст, так и bool, который указывает, следует ли нам его скрывать или показывать. Тогда возвращаемое значение является либо фактическим текстом, либо скрытым: :

<Window.Resources>
    <local:PasswordToHiddenCharactersConverter x:Key="PasswordToHiddenCharactersConverter" />
</Window.Resources>

<StackPanel>
    <CheckBox x:Name="HidePasswordBox" Content="Hide Password" />
    <TextBox >
        <TextBox.Text>
            <MultiBinding Converter="{StaticResource PasswordToHiddenCharactersConverter}" UpdateSourceTrigger="PropertyChanged">
                <Binding Path="Password" />
                <Binding ElementName="HidePasswordBox" Path="IsChecked" />
            </MultiBinding>
        </TextBox.Text>
    </TextBox>
</StackPanel>

«Пароль» - это имя свойства в нашей ViewModel, для CheckBox мы можем напрямую связать его изнутри xaml без необходимости проходить через ViewModel

8
задан Colin Jensen 15 October 2008 в 07:39
поделиться

6 ответов

Рассмотрите использование горячей копии:

svnadmin hotcopy — Сделайте горячую копию репозитория...

Эта подкоманда делает полное “горячее” резервное копирование Вашего репозитория, включая все рычаги, конфигурационные файлы, и, конечно, файлы базы данных. Если Вы передаете --clean-logs переключатель, svnadmin выполнит hotcopy Вашего репозитория и затем удалит неиспользованный Беркли журналы DB из исходного репозитория. Можно выполнить эту команду в любое время и сделать безопасную копию репозитория, независимо от того, используют ли другие процессы репозиторий...

12
ответ дан 5 December 2019 в 09:26
поделиться

AFAIK это безопасно, но почему бы не экспорт для резервного копирования?

3
ответ дан 5 December 2019 в 09:26
поделиться

Можно быть в безопасности, но только потому, что Вы знаете, что никто не получает доступ к репозиторию на Вашем ноутбуке. Однако svn (svnadmin) предоставляет горячую копию и команды дампа, которые столь же легко выполнить как Ваша команда копии, и они "гарантируются безопасные".

2
ответ дан 5 December 2019 в 09:26
поделиться

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

Вы могли использовать приложение, такое как SyncBackSE, который может запланировать резервное копирование и использует теневую копию в случае блокировки.

1
ответ дан 5 December 2019 в 09:26
поделиться

Вы записали:

Прямо сейчас мой репозиторий SVN находится на жестком диске моего ноутбука, и я просто копирую каталог еженедельно

Вопрос для Вас: почему?

Находятся в опасности я для повреждения моего репозитория SVN?

Нисколько, если Ваша копия не просто что: копия. Если Ваша "копия" открывает некоторый файл, заблокированный для записи, что Вы могли бы находиться в опасности (Вы сказали в комментарии это что-то, что похоже на Вас, находятся под окнами, и это могло бы произойти на окнах) - если существует другой процесс, пытающийся записать что-то в repos одновременно.

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

Основное назначение: Вы копируете для цели резервирования? Если так, копия это могло бы быть бесполезно (в зависимости от деталей процесса восстановления). См.: http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate

Так наконец: используйте дамп svnadmin

0
ответ дан 5 December 2019 в 09:26
поделиться

Я раньше использовал диск флэш-памяти и просто создал основанный на файле repo на нем. Единственные недостатки (помимо упущения его!) был диск флэш-памяти, должен был иметь ту же букву диска в каждом ПК и скорость, было похоже на медленное соединение с интернетом.

Еще, это работало просто великолепно.

0
ответ дан 5 December 2019 в 09:26
поделиться
Другие вопросы по тегам:

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