Как связать папку с существующим приложением Heroku с Mercurial

У меня есть существующее приложение Django в Bitbucket, и я могу развернуть его в Heroku с помощьюhg-git, Всякий раз, когда я хочу запустить какую-нибудь команду heroku внутри папки приложения, я получаю следующие ошибки:

$ heroku ps
 !    No app specified.
 !    Run this command from an app folder or specify which app to use with --app <app name>
$ heroku logs
 !    No app specified.
 !    Run this command from an app folder or specify which app to use with --app <app name>
etc.

Текущий обходной путь - указать имя приложения: heroku ps --app <app name> но я ищу способ связать свое имя репозитория с именем удаленного приложения Heroku, например, как это делается с помощью git.

Сейчас я не могу переместить свое приложение на github.

2 ответа

Решение

Принимая во внимание heroku смотрит на .git/config файл, чтобы получить имя приложения, просто сделайте следующее в вашем локальном хранилище:

git init
git remote add heroku git@heroku.com:<app-name>.git

Чтобы не испортить ваш репозиторий, вы также добавите следующие строки в .hgignore:

#Git setup
.git/**

Теперь обычные команды heroku больше не спрашивают имя приложения по умолчанию.

Я бы предложил попробовать опцию конфигурации "intree" в Hg-Git. Установите это, добавив следующее в hgrc:

[git]
intree = True

С этим набором репозиторий Git, используемый внутренне Hg-Git, будет храниться как каталог ".git" в рабочей копии, а не как вложенный в каталог ".hg".

Heroku увидит конфигурацию этого хранилища. Добавьте пульт, как предложено в другом ответе (цитируется ниже), и все будет готово.

git remote add heroku git@heroku.com:<app-name>.git

На данный момент лучшая документация по параметрам конфигурации Hg-Git, которую я нашел, - это README, отображаемый на странице Bitbucket проекта: https://bitbucket.org/durin42/hg-git

Другие вопросы по тегам