2011-12-23 7 views
8

VCS(私はLinuxでMercurialとGitを使用し、Bashプロンプトを使用する)を使用しているときに、プロンプトに現在のヘッドまたはタグをディレクトリに表示する方法はありますか?VCSでシェルのプロンプトを表示する

v02が必要なときにv0.3をテストしたり、devのバグにパッチを当てたりするなど、私が別のところにいたと思ったときに、頭の中で何度も働いていました。 prodにパッチを適用するか、またはその逆にします。

+0

は? MS-DOS?バッシュ? Csh? Zsh? – Johnsyweb

答えて

3

Gitは、ヘッドレスの場合に現在のブランチまたはハッシュを表示するbash関数を提供します。 bash_completionファイルで__git_ps1を探します。

Green='\[\e[0;32m\]' 
BIGreen='\[\e[1;92m\]' 
Color_Off='\[\e[0m\]' 
export PS1=$Green'\w $(__git_ps1 "(%s)")'$BIGreen'$ '$Color_Off 

次のようにプロンプ​​トを作成します:

~/.bashrcは、これらの行が含まれてい

~/repos/myproject (master)$ 
+0

非常にいいですが、ちょうど –

+0

あなたのプロンプトを使用して終了しました - ありがとう! –

2

git-promptをご覧ください。それ自身をGIT、SVN、HGモジュールのbashプロンプトとして記述しています。

単にbit-completionモジュールをロードするだけです(単にsource git-completion.bash - gitソースツリーのどこかにファイルがあるか、パッケージマネージャを使ってgitを任意のフォルダにインストールした場合gitのbash補完モジュールを置く)__git_ps1をあなたのプロンプトに入れてください。 via export PS1='w$(__git_ps1 "(%s)") > '

+0

ありがとう! git-completion.bashはかなりいいです。git-promptを試してみましたが、それほど気にしませんでしたが、私はホームページの作者の姿勢が気に入っていました。 hgはvinallaのプロンプトが必要です。 –

1

それはhttp://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/見てみる価値があります。 GitとMercurialに加えて、他の情報が満載です。

正確なプロンプトが表示されない場合でも、彼はそれをどのように構築したかに関する多くの情報を提供します。

9

Mercurialの場合、Steve Loshのhg-promptがあります。これは新しいhg promptコマンドを与えるMercurialの拡張です。あなたのPS1環境変数には、このコマンドの呼び出しを置く:

export PS1='\u in \w`hg prompt "{on {branch}}{status}{update}" 2>/dev/null` $' 

終わり?は、リポジトリ内において不明なファイルがあることを示しています

user in ~/src/project on feature-branch? $ 

のようなプロンプトを取得します。

スティーブはblog post about his Zsh promptを書いて、ドキュメントからのより多くのカラフルなプロンプトがあります。

Steve's colorful prompts

1

http://vcprompt.com/を見てください。クロスプラットフォームのPythonで書かれており、単にダウンロードしてbinディレクトリにドロップするだけです。 bzr、cvs、darcs、fossil、git、hg、svnをサポートしています。

0

ここでMercurialのbashプロンプトです:

function parse_hg_branch { 
    _hg_id=`hg id 2> /dev/null` 
    _hg_id="$_hg_id `hg id -nb 2> /dev/null`" 
    echo $_hg_id 
    unset _hg_id 
} 

function proml { 
    local LIGHT_RED="\[\033[1;31m\]" 
    local  BROWN="\[\033[0;33m\]" 
    local  GREEN="\[\033[0;32m\]" 
    local  CYAN="\[\033[0;36m\]" 
    local DEFAULT="\[\033[0m\]" 

    PS1="$LIGHT_RED\[email protected]$BROWN\h:$GREEN\w $CYAN\$(parse_hg_branch) $DEFAULT\$ " 
} 
proml 

このような何かに展開:どのプロンプト

[email protected]:~ e65381b0ed42+ tip 0+ default $ 
関連する問題