2009-02-25 10 views
6

私はcvsでemacsを使用していて、cvsモードを有効にしています。私は、CVSの最新バージョンからの変更を行ごとに強調表示したいと思います。私はintellijで行が追加された行と変更された行のための別の指示と削除された行のための3番目のシンボルの緑の指示が行われているのを見ました。EmacsでのCVSの変更をどのように強調しますか?

emacsがcvsの最新バージョンからの変更を表示するためのcvsハイライトモードはありますか?私はcvs diff新しいバッファで開くが、現在のバッファ内のどの行が変更されていることを示す何かタイプの機能を探していない。

次の画像では、Intellijがコードをソースコントロール内のコードとは異なることを示すために「ガター」と呼ぶものの左側に青色の長方形があります。

intellij example http://www.jetbrains.com/idea/features/screenshots/60/actions.gif

私は、Emacsで同様の機能を探しています。

+0

s/cvs/vcsのでgit/bzr/hg/svnの回答を得てください。 – elmarco

答えて

0

おそらくEdiffが欲しいと思うかもしれません。

+1

私が探しているものではありません。マイナーモードが欲しいので、コードを編集するときにいつでもオンにすることができます。また、元のバージョンの2番目のローカルコピーを取得せずにCVSと直接比較したいと思います。 –

+0

IntelliJはどのようにこれを処理しますか?それはあなたが求めているものがひどく高価であるようです... – dwc

2

どちらかといえば便利だが、別の答えがあります。

C-x v g 

コマンドvc-annotateを実行します。

これは、新しいバッファをポップアップさせます(私は知っています、あなたは1つを望んでいませんでした)。そして、ボーナスはヒートマップで色分けされています(赤は最新です、青は最低です)。

はもちろん、VC-注釈の組み込みのバージョンが適切にバッファをスクロールしないので、あなたは、このアドバイスをお勧めします:

(defadvice vc-annotate (around vc-annotate-and-scroll) 
    "scroll buffer to view current line in the annotated buffer" 
    (let ((pos (count-lines (point-min) (point)))) 
    ad-do-it 
    (let ((orig-window (selected-window)) 
      (window (other-window-for-scrolling))) 
     (select-window window) 
     (goto-line pos) 
     (select-window orig-window)))) 

(ad-activate 'vc-annotate) 
+0

それは少なくとも私にとっては有用だった:) – claf

1

あなたはvc-diffをしたい、デフォルトでC-x v =です。これにより、一時バッファにraw差分出力が得られます。バッファはdiff-modeを使用しています。これにはちょっとした工夫があります。例えば、C-c C-eを使ってdiffをパッチとして別のファイルに適用することができます。差分バッファにdescribe-mode(デフォルトではC-h m)を使用して、他のトリックを見つけてください。

4

diff-hlを確認すると、左側の窓枠にハイライトが表示されます。

これまでのところ、いくつかの最新のDVCSでしかテストしていませんが、まだCVSを使用していてもうまく機能しない場合は、問題を提出してください。

関連する問題