파일 비교는 참으로 유용한 기능입니다.
하지만 보이지 않는 문자까지 비교 대상에 끼어넣는 것은 피하고 싶죠.
경우에 따라서 필요할 수도 있지만, 대부분 공백문자들은 비교하지 않는 것이 더 낫습니다.
엔터, 스페이스, 탭 같은 것들입니다. 이 외에도 ASCII 코드 32 이하의 문자들이 공백문자의 대상입니다. 자바에서 trim() 으로 잘려나가는 문자들이죠.

compare without whitespace characters

compare without whitespace characters


이제는 익숙한 Preferences에서 compare 를 필터 텍스트에 입력하면 Compare/Patch 메뉴가 보입니다. 여기서 Ignore white space 항목에 체크하면 됩니다. 비교화면이 깔끔해집니다.
cvs의 버전관리 기능을 이용해서 특정한 시간에 대한 소스 디렉토리와 파일들을 복원해 낼 수 있습니다. 타임머신과도 같은 기능이죠.
현재의 소스와 과거의 소스를 이클립스를 통해서 비교도 할 수 있습니다.
보시죠.

CVS Repositories에서 프로젝트를 선택해서 Check Out As...를 선택합니다. Check Out 할 경우는 cvs에 등록된 대로 바로 프로젝트가 생기게 되는 것은 다 아실 겁니다. 로컬의 디렉토리로 가져올 때 프로젝트 커스터마이징을 하기 위해서 Check Out As... 메뉴를 선택합니다
Check Out As...

Check Out As...


프로젝트 이름을 적당하게 바꿔줍니다. 이미 okjsp2007이라는 이름으로 프로젝트가 있는 상태이기 때문에 okjsp2007_timemachine이라는 프로젝트 이름을 지었습니다. ㅎㅎ 꽤 잘 지은 것 같습니다. Next 버튼을 클릭합니다. Finish 클릭하면 말짱 황입니다. 조심조심.
checkout project naming

checkout project naming


Tag를 설정하는 화면입니다. Dates를 선택하고 Add Date... 버튼을 클릭합니다. 중간 맨 오른쪽에 있죠.
Add Date...

Add Date...


캡쳐한 시점이 6월23일인데 한 달 전 시간 5월23일 저녁 6시 기준으로 소스를 가져오도록 하겠습니다. 시간 세팅은 어렵지 않겠죠.
Create Date Tag

Create Date Tag


시간 태그가 보일 겁니다. 그 태그를 선택하고 Finish 버튼을 클릭합니다.
Select Date Tag

Select Date Tag


퍼스펙티브를 바꿔서 프로젝트 두 개가 나란히 서있는 것을 볼 수 있습니다. ^^; 찌그러져 앉아있는지도 모르죠. 헙. 일단 두 개의 프로젝트를 선택합니다. 비교해 봐야죠.
Select projects compared

Select projects compared


컨텍스트 메뉴의 Compare With > Each Other 를 선택합니다. 말이 되네요. 비교해봐 > 서로
Compare With > Each Other

Compare With > Each Other


화면에 Compare tab이 나타날 겁니다. 탭을 더블클릭해서 전체 화면으로 만들고 비료하면 됩니다. 일단 파일을 선택하면 파일의 어느 부분이 바뀌었는지 우측에 구조 비교화면이 나오고 해당 메소드를 선택하면 하단에 소스가 비교되어 나옵니다. 왼쪽과 오른쪽 소스 상단에 프로젝트 이름이 보이니 어떤 것인지 혼동하지 않아도 됩니다.
Compare

Compare



이클립스에서 프로젝트 구조의 비교도 가능하다니 훌륭하지 않습니까? 이클립스가 조금 더 좋아지지 않나요? ^^ 이상 마치겠습니다.


+ Recent posts