hg-git развернуть на героку от льва
У меня есть это приложение на моей машине Lion, которая находится в ртутном хранилище, поэтому я использую hg-git, чтобы развернуть его на heroku.
~ /.Hgrc
[extensions]
hgext.bookmarks =
hggit =
... / проект /.hg/hgrc
[paths]
default = https://validhgrepo.com
[alias]
push-heroku = push git+ssh://git@heroku.com:appname.git
Затем, когда я запускаю hg push-heroku, он должен развернуться, но вместо этого я получаю:
caseys-MacBook-Air:project casey$ hg push-heroku
pushing to git+ssh://git@heroku.com:appname.git/
creating and sending data
["git-receive-pack 'appname.git/'"]
! Invalid path.
! Syntax is: git@heroku.com:<app>.git where <app> is your app's name.
abort: git remote error: The remote server unexpectedly closed the connection.
Это не имеет никакого смысла. Я чувствую, что сообщение об ошибке вводит в заблуждение, потому что это хранилище существует.
Также это прекрасно работает на моей машине с Ubuntu с подобной настройкой.
2 ответа
Оказывается, это было связано с этой проблемой. Я не заметил дополнительной косой черты раньше. Я применил патч, похожий на этого парня, и он работал для меня (на последней версии hg, hg-git и osx).
Полная информация о том, как установить патч:
сначала удалите его
sudo easy_install -m 'hg-git'
затем удалите файл hg-git egg в ~/Library/Python/2.7/site-packages
установить как каталог
sudo easy_install -Z 'hg-git'
открыть ~/Library/Python/2.7/site-packages/hg_git..../hggit/git_handler.py
применить патч вручную (мой был больше похож на линию 1118)
--- git_handler.py Thu Jul 28 22:05:45 2011 +++ patched.git_handler.py Thu Jul 28 22:11:44 2011 @@ -1066,6 +1066,8 @@ port = None host, path = hostpath.split(hostpath_seper, 1) + if (host.find('heroku') > 0): + path = path.rstrip('/') if hostpath_seper == '/': transportpath = '/' + path else:
Ваш git remote формат ввернут.
В.git/config убедитесь, что ваш пульт принимает формат:
git@heroku.com:appname.git
где appname
название ваших приложений на Heroku