Как запретить git remote add ssh: // установить соединение? - PullRequest
0 голосов
/ 31 марта 2011

Я написал скрипт резервного копирования для пользователей моего сервера git repos. Он добавляет новые пульты в каждое хранилище (и мое, и других пользователей), указывая на серверы резервного копирования.

Это сложная операция, так как скрипт запускается от имени пользователя root через cron.daily, должен добавить удаленного пользователя как пользователя, владеющего репо, и установить соединение ssh от себя, поскольку я единственный, кому разрешено подключаться через ssh к разные резервные серверы.

Все работало бы, если бы git не пытался установить ssh-соединение при выполнении этих команд:

  • some_user $ git remote add REMOTENAME ssh: //$me@$server/...
  • some_user $ git config remote.REMOTENAME.mirror true
  • some_user $ git Удаленный URL-адрес REMOTENAME ssh: //$me@$server/...
  • some_user $ git remote set-url --push REMOTENAME ssh: //$me@$server/...

Как я могу помешать git установить соединение с этими командами?

Спасибо!

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Опции, которые приходят на ум:

  • Измените файл .git / config самостоятельно, а не через git config и удаленные команды
  • Модифицированный git-компилятор, который не пытается подключиться при настройке вашей конфигурации.
  • Используйте rsync в каталоге .git, чтобы избежать настройки удаленных устройств.

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

0 голосов
/ 01 апреля 2011

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

Если вы обновите свои вопросы, включив в них версию git, которую вы используете, и сообщение об ошибке, которое вы получите при каждой команде, люди могут помочь вам больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...