web-dev-qa-db-ja.com

bzrコマンドのスクリプト

誰かが私を正しい方向にプッシュして、シェルスクリプトまたはPythonを使用して、bzrブランチをランチパッドにプッシュするのを簡単にするスクリプトを作成できますか?

スクリプトプロセスは単純です。

  1. cd /directory/to/code
  2. コミットコメントを求める
  3. bzr commit - m $comment
  4. bzr Push lp:~path/to/code
2
user221813

これをほとんどそのままスクリプトに入れることができます...

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

-mbzr commitを意図的に省略しました。 Bazaarは、設定されたテキストエディタを起動し、そこに入力できます。「要求」する必要はありません。

また、意図的にlp:~path/to/codeを省略しました。手動でbzr Push lp:~path/to/codeを実行すると、Bazaarはその場所を記憶し、次回は単にbzr Pushを実行するだけで十分です。

他に何か必要な場合はお知らせください。

2
janos

シェルスクリプトは非常に簡単に始めることができます。最初の行は#!/bin/sh(a Shebang —コピーアンドペーストのみ)である必要があります。次に、1行に1つのコマンドを入力します。

コマンドが失敗した場合にスクリプトを停止する場合は、2行目にset -e行を追加します。

スクリプトをデバッグしていて、実行されるコマンドを実行直前に表示したい場合は、2行目に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と入力すると、2つのコマンドbzr commitbzr Pushが実行されます。最初のコマンドの最後にある&&記号は、最初のコマンドが失敗した場合に次のコマンドが実行されないことを意味します(したがって、変更ログエントリの入力中に間違いを犯し、コミットをキャンセルした場合は、何も実行されません。プッシュ)。常に同じ場所にプッシュする場合は、プッシュコマンドの引数を省略します。bzr commitだけでbzr Pushで十分です。