Сценарии команд bzr

Может ли кто-нибудь подтолкнуть меня в правильном направлении, чтобы использовать сценарий оболочки или Python для создания сценария, упрощающего передачу ветви bzr на панель запуска?

Процесс сценария будет простым:

  1. cd /directory/to/code
  2. запрашивать комментарий
  3. bzr commit - m $comment
  4. bzr push lp:~path/to/code
2
задан 4 December 2013 в 00:55

2 ответа

Вы можете поместить это в сценарий почти так, как есть ...

#!/bin/sh -e
cd /directory/to/code
bzr commit
bzr push

Я намеренно пропустил -m для bzr commit. Bazaar запустит сконфигурированный текстовый редактор, в котором вы сможете его ввести, не нужно «просить».

Я также опущен lp:~path/to/code намеренно. После того, как вы выполните bzr push lp:~path/to/code один раз вручную, Bazaar запомнит это место, и в следующий раз достаточно будет просто сделать bzr push.

Дайте мне знать, если вам нужно что-нибудь еще.

0
ответ дан 4 December 2013 в 00:55

Сценарии оболочки довольно просты для запуска. Первая строка должна быть #!/bin/sh (a shebang - просто скопировать и вставить). Затем поместите одну команду в строку.

Если вы хотите, чтобы сценарий остановился в случае сбоя команды, добавьте строку set -e в качестве второй строки.

Если вы отлаживаете скрипт и хотите отобразить команды, которые он выполняет непосредственно перед их выполнением, добавьте set -x во второй строке.

#!/bin/sh
set -e
cd /directory/to/code
bzr commit
bzr push lp:~path/to/code

Лучший способ «попросить коммит» - это открыть редактор, в который вы можете его ввести. Вот что делает bzr commit.

Сохраните этот файл в каталоге ~/bin (создайте его, если он не существует) и предоставьте ему разрешения на выполнение (chmod +x ~/bin/push-my-code в командной строке).

Если вы вызываете этот скрипт из командной строки, то, как правило, вы уже находитесь в правильном каталоге, поэтому вам сначала не понадобится команда cd. Вместо сценария, в этом случае, вы можете добавить функцию к .bashrc:

commit-and-push () {
  bzr commit &&
  bzr push lp:~path/to/code
}

. Затем, набрав commit-and-push, вы запустите две команды bzr commit и bzr push. Знак && в конце первой команды означает, что следующая команда не будет выполнена, если первая команда не выполнена (поэтому, если вы заметили, что допустили ошибку при вводе записи в журнал изменений и отменили фиксацию, то ничего не будет выдвинуто) , Если вы всегда нажимаете на одно и то же место, оставьте аргумент в команде push - просто bzr commit, тогда достаточно bzr push.

0
ответ дан 4 December 2013 в 00:55

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

Похожие вопросы: