Очень медленный перенос Mercurial через сетевой ресурс в Windows
TortoiseHG требуется около 15 минут, чтобы выполнить загрузку из репозитория на моем локальном жестком диске (где .hg
каталог содержит 532 файла общим объемом 110 МБ) в пустой репозиторий на моем сетевом диске.
Однако, если я просто использую проводник Windows, чтобы скопировать и вставить тот же .hg
Каталог (532 файла, 110 МБ) на тот же сетевой диск, это занимает от 30 секунд до 1 минуты.
Почему это замедление в 10-30 раз? Могу ли я избежать этого? (т.е. Mercurial делает что-то ненужное, чего я могу избежать с помощью соответствующих параметров командной строки?)
Обновление: оно достаточно медленное, что отрицательно влияет на наш рабочий процесс. И тот же толчок из одного места в другое на локальном HD происходит быстро (несколько секунд, а не минут). Это означает, что на самом деле будет гораздо быстрее скопировать весь пульт .hg
во временную папку на локальном диске, нажмите на нее, а затем скопируйте обратно на сетевой диск. Прежде чем я действительно расскажу о реализации этого неуклюжего обходного пути... наверняка есть лучший?
[Подробности: я использую командную строку hg.exe
из TortoiseHG 3.4.1 в Windows 7, а сетевой диск представляет собой Apple TimeCapsule. Я получаю к нему доступ через программное обеспечение Агента Базовой Станции Аэропорта, которое создает видимость обычного (то есть samba-подобного) сетевого диска. Привод смонтирован как Z:\
и так default
путь указан в hgrc
начинается с Z:\
Таким образом, насколько известно Mercurial, передача происходит из одного "локального" местоположения в другое, т.е. не через http или ssh. Такое же замедление происходит, если я использую полный путь UNC \\Like\this\...
вместо Z:\...
]