Назад | Перейти на главную страницу

Как я узнаю, что «hg clone» выполняет работу удаленно?

У меня очень простая установка Mercurial для Windows на моем компьютере. «Центральный» репозиторий находится по адресу //mymachine/hg-repos/central.

Я хочу, чтобы удаленные (VPN) пользователи могли создавать клоны этого репозитория в hg-repos каталог, потому что он получает ежедневные резервные копии. Я предоставил этим пользователям полный контроль над hg-repos каталог. У меня такой вопрос:

Если я нахожусь на удаленном компьютере и запускаю команду:

hg clone //mymachine/hg-repos/central //mymachine/hg-repos/central-copy

удаленная машина делает большую часть работы?

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

Ваша команда выполняется локально (в конце концов, вы запускаете исполняемый файл "hg" с локальной машины). Оба параметра являются удаленными смонтированными каталогами и ведут себя как локальные каталоги. Таким образом, локальная программа "hg" работает так, как если бы она работала с локальными файлами.

Это «лучше», чем загрузка / повторная загрузка? Я не знаю, это зависит от того, как операционная система обрабатывает операцию «копирования» в удаленных каталогах. Может быть, у него есть примитив для отправки на сервер команды «копировать», но я в этом очень сомневаюсь.

Я уверен, что он читает все дерево каталогов и, вероятно, загружает / выгружает все содержимое файла.

Он должен выполнять только эквивалент cp -rс последующим обновлением hg. Это должно быть немного эффективнее, чем загрузка + повторная загрузка.