При обновлении зеркала репозитория на manifest.xml, как правильно создать удаленную выборку? - PullRequest
0 голосов
/ 17 октября 2019

При инициализации репо принадлежащего мне зеркала:

    repo init -b git@<server>/path/to/repo
    repo sync

Как правильно обновить манифест на зеркале, чтобы нисходящие клиенты могли правильно синхронизироваться?

Я пытался использовать жесткий путь при работе на той же машине, что и зеркало, и это работает. Я попытался использовать имя сервера для выборки при запуске на другом компьютере, и это не удается. Но когда я пытаюсь извлечь fetch = ".", Это фактически приводит к получению правильного URL. И пока я ценю это fetch = "."означает «использовать текущий каталог», а fetch = «..» означает использовать каталог верхнего уровня, поэтому для меня это не имеет смысла.

При использовании локального репозитория (на той же машине, что изеркало) Я могу использовать

    <remote fetch="/local/mirror/repo/location" name="new_name"/>
    <default remote="new_name" revision="current_branch"/>

И это работает для синхронизации кода.

На другой машине я, когда я пытаюсь использовать это:

    <remote fetch="git@<server>/path/to/repo/" name"new_name"/>
    <default remote="new_name" revision="current_branch"/>

Это не удается. Каждое git-repo получает новое удаленное имя «new_name», и URL-адрес заканчивается тем, что он ожидает обработки удаленного пути к репо к значению оператора fetch, а затем отправляет его с указанием пути к проекту. Это неверный URL, который Git может использовать для получения. Когда я наконец понял, что это работает:

    <remote fetch="." name="new_name" />
    <default remote="new_name" revision="current_branch"/>

Я действительно не понял, почему. URL, используемый репозиторием git, по-видимому, получен из URL, используемого в «repo init».

Поскольку использование полного пути работает во время работы на сервере, я ожидал указать путь к тому жеместоположение, все-это-с предваренной git @ string.

Что я хочу знать, так это как на самом деле собираются строки при обновлении файла .git / config для каждого git-репо и где это строго определено.

...