誰かが私を正しい方向にプッシュして、シェルスクリプトまたはPythonを使用して、bzrブランチをランチパッドにプッシュするのを簡単にするスクリプトを作成できますか?
スクリプトプロセスは単純です。
cd /directory/to/code
bzr commit - m $comment
bzr Push lp:~path/to/code
これをほとんどそのままスクリプトに入れることができます...
#!/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
を実行するだけで十分です。
他に何か必要な場合はお知らせください。
シェルスクリプトは非常に簡単に始めることができます。最初の行は#!/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 commit
とbzr Push
が実行されます。最初のコマンドの最後にある&&
記号は、最初のコマンドが失敗した場合に次のコマンドが実行されないことを意味します(したがって、変更ログエントリの入力中に間違いを犯し、コミットをキャンセルした場合は、何も実行されません。プッシュ)。常に同じ場所にプッシュする場合は、プッシュコマンドの引数を省略します。bzr commit
だけでbzr Push
で十分です。