Клонирование репозитория с символическими ссылками Linux в Windows

У меня есть следующая установка:

  • ПК под управлением Windows 8 64x
  • Виртуальный бокс 4.3.12
  • Бродяга 1.6.3
  • Виртуальная машина под управлением Debian 64x

На моей виртуальной машине в общей папке с хостом я пытаюсь клонировать репозиторий, содержащий символические ссылки Linux:

vagrant@vagrant:/vagrant$ git clone https://github.com/francetv/puppet-cron

... Разрешение дельт: 100% (162/162), сделано.

Не делая ничего другого, я получаю следующую разницу: файл /.travis.yml должен быть символической ссылкой, указывающей на /.travis/travis.yml.

vagrant@vagrant:/vagrant$ cd puppet-cron

vagrant@vagrant:/vagrant$ git diff

diff --git a/.travis.yml b/.travis.yml

--- a/.travis.yml

+++ б/.travis.yml

@@ -1 +0,0 @@

-.travis/travis.yml

\ Нет новой строки в конце файла

На самом деле я сталкиваюсь с этой проблемой при попытке подготовить ящик Vagrant, что приводит к сбою подготовки.

Мой вопрос: есть ли способ избежать этого различия сразу после клонирования репозитория?


person Anis    schedule 03.10.2014    source источник


Ответы (1)


Краткий ответ: нет. Virtualbox на самом деле не знает, что делать с символическими ссылками, потому что они не существуют в Windows.

Длинный ответ: проверка репозитория на вашем хосте должна помочь. git лучше знает, как с этим справиться. Вы также можете попробовать использовать Samba или rsync вместо общих папок, поставляемых с Virtualbox.

то, что я сделал однажды (что на самом деле не очень хорошее решение, но работает), заключалось в том, чтобы настроить репозиторий внутри виртуальной машины (не общую папку), проверить тот же репозиторий на моем хосте и добавить его как общую папку, чем был скрипт запуск каждую секунду, который копировал данные из общей папки в гостевую папку. Как было сказано, он работал, но был «медленным» и иногда ломался.

person Sgoettschkes    schedule 18.10.2014