Проблемы совместимости между сервером git 1.8 и старше git
Я использую удаленную службу хостинга git (Svnrepository.com). Я могу успешно получить доступ к репозиториям git при использовании git 1.7.x в качестве клиента, но как только я обновляю клиент до git 1.8.x, я больше не могу нажать: толкает винт. Служба поддержки хостинга утверждает, что это связано с тем, что они используют более старый сервер git, который не поддерживает версию 1.8.
- Как использовать git 1.8 в качестве клиента со старым сервером git?
- Есть ли обходной путь?
- Кто-нибудь знает, что такое точная несовместимость?
- Является ли утверждение от поддержки даже правдоподобным?
По какой-то причине я подумал, что git обладает отличной совместимостью назад/вперед, и не было причин опасаться, что обновление сломается git
- Есть ли какая-то известная несовместимость, введенная в переходе 1.7- > 1.8, которая могла бы вызвать это?
По запросу здесь находится трассировка с GIT_TRACE=1
. Похоже, что он висит во время работы git-http-push
:
$ GIT_TRACE=1 git push -v
trace: built-in: git 'push' '-v'
Pushing to https://secure2.svnrepository.com/redacted/redacted/
trace: run_command: 'git-remote-https' 'origin' 'https://secure2.svnrepository.com/redacted/redacted/'
trace: run_command: 'http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
trace: exec: 'git' 'http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
trace: exec: 'git-http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
trace: run_command: 'git-http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
Он зависает после последней строки вывода. (Если вы предпочитаете, вы также можете посмотреть трассировку, где я установил как GIT_TRACE=1
, так и GIT_CURL_VERBOSE=1
.)
Ответы
Ответ 1
Желание работать с более современной версией git понятно, но если у вас есть выбор, не запускается текущая версия, почему бы вам не переключить хосты? Из одного только имени Svnrepository.com не похоже, что они сосредоточены на хостинге git. Если хостинг-сервис не является чем-то, что вы можете изменить, то об установке git1.7 где-то вне вашего пути и 1.8 обычно. Затем вы могли бы связать версию 1.7 с чем-то вроде oldgit
, и когда вам нужно будет работать с Svnrepostiory.com, ваши команды будут похожи на oldgit add
, oldgit commit
, oldgit push
.
Ответ 2
На странице Svnrepository.com говорится: "Стандартные функции: Git через SSH", и кажется, что вы просматриваете http: возможно, хорошо для доступа только для чтения. Если вы посмотрите на текстовый файл .git/config, вы увидите раздел [remote "origin" ], а значение "url" может быть установлено в формате host:/path/on/remote/machine, что подразумевает соединение SSH для Git