Бэкэнд реляционной базы данных для Mercurial или Git

Выполнение этого на хосте виртуального окна должно выполнить трюк

VBoxManage controlvm (vmname) reset / poweroff

Сброс VBoxManage controlvm (vmname) оказывает такое же влияние на виртуальную машину, нажимая кнопку «Сброс» на реальном компьютере: холодная перезагрузка виртуальной машины, которая будет немедленно перезагружаться и загружать гостевую операционную систему. Состояние виртуальной машины не сохраняется заранее, и данные могут быть потеряны. (Это эквивалентно выбору пункта «Сброс» в меню «Машина» графического интерфейса пользователя.)

Управление VBoxManage controlvm (vmname) имеет тот же эффект на виртуальной машине, что и вытягивание кабеля питания на реальный компьютер. Опять же, состояние виртуальной машины не сохраняется заранее, и данные могут быть потеряны. (Это эквивалентно выбору пункта «Закрыть» в меню «Машина» графического интерфейса пользователя или нажатии кнопки закрытия окна, а затем выберите «Выключить машину» в диалоговом окне.)

13
задан Adam Schmideg 19 August 2010 в 11:50
поделиться

2 ответа

С git, формат репозитория это довольно фундаментальная часть того, как все работает. Чтобы это изменить, придется потрудиться.

Я не читал ни одного источника Mercurial, но полагаю, что ситуация не сильно отличается.

Как я уже сказал в своем комментарии, я не совсем уверен, зачем вам это нужно. Чтобы git по-прежнему мог пользоваться всеми своими преимуществами, вам нужно будет хранить объекты git в своей базе данных sqlite. Вам все равно понадобятся все низкоуровневые инструменты git для доступа к ним и управления ими - вы не собираетесь просто искать капли и деревья по их SHA1 и выполнять всю остальную работу самостоятельно. (И даже если по какой-то причине вы захотите, вы можете сделать это так же легко, заглянув в каталог объектов git.)

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

П.С. Если вы обнаружите определенную неподдерживаемую операцию, которую хотите выполнить, и у вас возникнут проблемы с поиском сантехники, необходимой для ее выполнения, или со сценарием, необходимым для ее реализации, задайте вопрос здесь! Нет причин застревать только потому, что вы не можете использовать sql.

12
ответ дан 1 December 2019 в 19:49
поделиться

Как пишет Джефроми, Mercurial также использует специальный формат для достижения высокого сжатие и быстрый доступ к любой ревизии. Это формат журнала изменений , который представляет собой структуру данных только для добавления, которая использует неизменность наборов изменений в Mercurial.

Однако, конечно, можно заменить этот формат хранения другим, если хотите. Google сделал это, когда поместил Mercurial в Bigtable для code.google.com. Одним забавным последствием использования ими собственного внутреннего формата является то, что вы не видите никаких номеров ревизий в их веб-интерфейсе. В обычном Mercurial номера ревизий (локальное целое число, которое вы можете использовать вместо полного хэша ревизии) являются индексом ревизий в журнале изменений. Когда наборы изменений не хранятся в журналах изменений, естественный индекс отсутствует, и поэтому Google не показывает номера редакций.

13
ответ дан 1 December 2019 в 19:49
поделиться
Другие вопросы по тегам:

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