Подмодули Git с использованием относительных URL-адресов

Я использую git (TortoiseGit 1.7.5.0) и имею репо с подмодулями, на которые ссылаются через абсолютные пути следующим образом:

[submodule "common/sub"]
path = common/sub
url = ssh://localhost/lib/common/sub

Хотя супер-репо клонируется как ssh: // user @ localhost / super , имя пользователя не должно входить в каждый URL-адрес подмодуля, потому что разные пользователи должны работать с кодом, используя свои собственные учетные данные.
При извлечении / отправке подмодулей мне пришлось ввести свой логин (пароль не нужен, потому что я запускаю Pageant): имя пользователя не передается в TortoisePlink через командную строку.

Просматривая веб-страницы, я нашел несколько сообщений, в которых упоминаются относительные URL-адреса для подмодулей , но, очевидно, такой подход не работает с TortoiseGit: я пробовал несколько форматов - программа часто дает сбой. В любом случае мне удалось использовать такой формат:

[submodule "common/sub"]
path = common/sub
url = ../common/sub

Файл .git / config заполнен правильными абсолютными URL-адресами, но после этого TortoiseGit просто вылетает ...

Я просмотрел другие варианты, включая :

  1. используйте гитолит (как предлагается здесь ) или sdorra (как предлагается здесь ), но это выглядит как слишком сложное решение .

  2. следуют стратегии слияния поддеревьев (как предлагается здесь ). Похоже, хороший подход.

Одно из рабочих решений - инициализировать подмодуль с «нестандартным» URL , как описано в конце git Submodules Explained (ссылка была найдена здесь ).

Я полагаю, что в моем случае может помочь более простой обходной путь (например, обеспечение входа в систему по умолчанию в каком-то локальном файле конфигурации или через командную строку), но я не нашел для этого никаких полезных советов.

И вопрос : как проще всего использовать подмодули без жестко заданных имен пользователей в абсолютных URL-адресах?

8
задан Community 23 May 2017 в 12:16
поделиться