2009-02-25 7 views
6

나는 이맥스를 cvs와 함께 사용 중이며 cvs 모드를 활성화했다. CVS의 최신 버전의 변경 사항을 한 줄씩 강조하고 싶습니다. 필자는 추가 된 줄에 녹색 표시가 있고 수정 된 줄에 다른 표시가 있고 삭제 된 줄에 세 번째 기호가있는 intellij에서이 작업을 수행 한 것을 보았습니다.Emacs에서 CVS 변경 사항을 강조 표시하려면 어떻게합니까?

이맥스에서 cvs의 최신 버전의 변경 사항을 표시 할 수있는 cvs 강조 표시 모드가 있습니까? 나는 새 버퍼에서 열 수있는 cvs diff 유형의 기능을 찾고 있지는 않지만 현재 버퍼에서 어떤 행이 수정되었는지 나타낼 수있는 기능을 찾고있다.

다음 이미지에는 Intellij가 소스 제어에있는 코드와 다른 코드임을 나타 내기 위해 Intellij가 "거터"라고 부르는 파란색 사각형이 왼쪽에 있습니다.

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

나는 이맥스에서 유사한 기능을 찾고 있어요.

+0

s/cvs/vcs하시기 바랍니다. 그래서 우리는 어떤 자식/bzr/hg/svn에 대한 답변을 얻을 수 있습니다 ... – elmarco

답변

0

아마 정확히 Ediff을 원하고 싶을 것입니다.

+1

정확히 무엇을 찾고 있습니다. 마이너 모드가 필요하므로 코드를 편집 할 때 항상 사용할 수 있습니다. 또한 원본 버전의 두 번째 로컬 복사본을 얻지 않고 직접 CVS와 비교하려고합니다. –

+0

IntelliJ는 어떻게 처리합니까? 그것은 당신이 묻고있는 것처럼 비싼 비싼 것 같습니다 ... – dwc

2

원하는 답변을 모두 찾지 못했지만 유용 할 수 있습니다.

vc-annotate 명령을 실행합니다.

새 버퍼가 나타납니다. (나는 알고 있습니다. 원하는 것은 아니지만) 모든 줄을 사람이 만졌을 때 나타납니다. 보너스는 히트 맵 (빨간색이 최근, 파란색이 가장 적음)으로 코드화되어 최근 변경 사항을 쉽게 식별 할 수 있습니다.

은 물론 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 =에 있습니다. 이것은 임시 버퍼에 원시 diff 출력을 제공합니다. 버퍼는 diff-mode를 사용합니다. 예를 들어, C-c C-e을 사용하여 diff를 다른 파일에 패치로 적용 할 수 있습니다. diff 버퍼에 describe-mode (기본값으로 C-h m)을 사용하여 다른 트릭을 찾습니다.

4

왼쪽 창 주위에 강조 표시를 제공하는 diff-hl을 확인할 수 있습니다.

지금까지 몇 가지 최신 DVCS에서만 테스트 해 보았습니다.하지만 여전히 CVS를 사용하고 있으며 제대로 작동하지 않는다면 문제를 제기하십시오.

관련 문제