2015-06-01 3 views
0

У нас есть папка SOLUTION (Mercurial repository) в whitch у нас есть папка PROJECT, то есть также хранилище Mercurial.Сбросьте меркуриальную ветвь на стороне сервера

Так два хранилища: одно - папка (раствор) корень и другая - подпапки корневой папки (проект) (да странно, но это так) ...

Все работало, но один день кто-то каким-то образом включил ветку SOLUTION в репозиторий PROJECT ... Итак, вся история из ветки Solution была включена в parralel с веткой Project в репозиторий PROJECT ....

Теперь немного беспорядок в ПРОЕКТЕ хранилище ... Необходимо очистить этот репозиторий ...

Локально он работал, применяя hg strip rev XXS (где XXS - номер редакции самого первого узла из недавно добавленной ветки Solution в репозитории Project).

Но, похоже, на сервере нет эквивалента полосы? Каждый раз, когда мы вытаскиваем входящие изменения в репозитории проекта, филиал «Решение» будет повторно импортирован.

Есть ли способ управлять им со стороны сервера?

ответ

1

Конечно же такое же решение будет также работать на сервере. Таким образом, вам нужен вход в систему для доступа к самому серверу для выполнения на нем той же локальной истории. Но для настройки по умолчанию (сервер публикации) push никогда не удалит набор изменений, присутствующих на удаленном месте; когда вы редактируете историю своего локального репозитория, изменения не будут распространяться: только добавления к графику будут, но не будут удалены.

Если ожидается, что такие изменения на удаленном сервере будут оттолкнуты, и это обычная вещь, вам может потребоваться изучить фазы и как настроить сервер, не являющийся издателем, например, сервер с изменяемой историей: Phases#Publishing_Repository.
Учтите, что такой рабочий процесс также означает, что каждый из людей с push privilige должен изменить свою фазу по умолчанию на «черновик» вместо «public» - по крайней мере для этого проекта.

0

убить серверное репо. начинают новый один, то из местного:

рт.ст. PUSH -rev XXR

где XXR последний оборотов вы хотите сохранить.