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


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

Процесс скрипта был бы простым:

  1. cd /directory/to/code
  2. попросить комментировать
  3. bzr commit - m $comment
  4. bzr push lp:~path/to/code

2
2017-12-03 20:25


происхождения




ответы:


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

#!/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,

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


2
2017-12-03 20:51





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

Если вы хотите, чтобы сценарий остановился, если команда завершилась неудачей, добавьте строку 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
2017-12-03 20:57