У меня есть репозиторий Git в общей папке на ПК с Windows, доступ к которому осуществляется по пути UNC, например,
git clone //server/share/MyRepo.git
Когда я получаю изменения из этого репозитория по VPN из дома, git-upload-pack.exe
очень долго запускается *1006*. Я понимаю, что сервер (как таковой) не задействован, и на моем локальном ПК запущены все исполняемые файлы.
Имя git-upload-pack.exe
подсказывает мне, что мой локальный ПК читает файлы с удаленного общего ресурса, чтобы загрузить их куда-то, но это будет само по себе, что не имеет смысла. Это в свою очередь заставляет меня думать, что fetch
далеко не так эффективен, как мог бы быть. Это похоже на то, как локальный компьютер выполняет всю работу по сокращению данных для передачи, но для этого он должен передать все данные.
Может кто-нибудь пролить свет на то, как это работает? Является ли производительность настолько высокой, насколько это возможно, без запуска настоящего Git-сервера через SSH или чего-либо еще на удаленном конце, или файлы передаются туда и обратно без необходимости?