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, push происходит из одного "локального" местоположения в другое, то есть не через http или ssh. Такое же замедление происходит, если я использую полный путь UNC \\Like\this\...
вместо Z:\...
]