-
예전 내 작업방식~(Working Copy 만들기)카테고리 없음 2007. 11. 25. 20:54
프로젝트를 진행하다가 소스 코드를 수정하다보면 코드의 바다에서 헤매다가 자신이 수정한 부분이 어디인지 헷갈릴 때가 있다. 파일이 한 두개라면 모르겠지만 수정되는 파일이 여러 개가 되고 이 파일들이 다른 곳에 영향을 미치게 되면 더욱 그렇다.
그래서 생각한 방법이 복사본-Working Directory을 만드는 것이다.
물론 하드 용량을 더 차지하긴 하지만 나처럼 깜빡깜빡하는 사람에게는 아래 방법이 필수적(!)이다.
Clear Case나 Perforce 등의 Source Control을 사용할 때는 필요하지만 최근에 나온 GIT에서는 Tool 자체에서 지원하기 때문에 그다지 의미는 없다. Move to GIT!!
1. 우선 원본 소스와 동일하게 소스를 복사한다.
원본 소스는 Clear Case나 Perfoce를 통해 받은 Source
> EX. D:\CC_Source\BASE_SOURCE
원본 소스인 (CC_source)를 복사하여 Target Source를 만든다.
> EX D:\Source\TARGET_SOURCE
2. Source Insight에서 프로젝트로 만든다.
위에서 만든 Target Source를 Source Insigt에서 프로젝트로 생성한다.
3. Beyond Compare에 Session을 만든다
위에서 만든 BASE_SOURCE와 TARGET_SOURCE를 지정한 Session을 Beyond Compare에서 생성한다.
생성방법은 다음과 같다.
Beyond Compare를 실행
중간에 보면 session: <untitled> 라고 적혀 있는 곳에 저장하고 싶은 이름을 적는다.
EX. CC vs R430 등으로 자신이 알아보기 쉽게 저장
TIP : CC에서 *.keep파일이 생길 수 있는데 굳이 비교할 필요가 없다. 이런 경우에는 옆에 있는 Filters: *.* 이라고 적혀있는 곳에 *.*대신 -*.keep이라고 적으면 keep파일이 보이지 않는다.
4. 소스코드를 수정하자
가장 중요한 코드 수정 작업을 실행하자..원본소스가 있으므로 거리낌없이 수정가능.ㅋ
5. 수정된 코드를 확인하고 싶을 때
Source폴더에서 작업을 하다가 수정된 파일이 무엇인지 궁금할 때는 Beyond Compare를 통해서 두 개의 폴더를 비교해서 변경된 파일을 찾는다.
이미 저장되어 있는 session이 있으므로 session : <untitled> 옆에 있는 화살표를 누르면 자신이 저장한 session목록이 나타난다. 여기서 위에서 지정한 CC vs R430을 선택하면 끝!
6. BASE소스와 싱크 맞추기
BASE소스를 업데이트하게 되면 이에 맞춰서 TARGET 소스도 업데이트해주어야한다.
예를 들어서 회사에서는 자신의 작업이 끝나고 이를 CC에 반영하기 전에 최신 CC소스에 자신의 소스를 받아서 머지해야할 경우가 생긴다.
이 때 BASE소스를 업데이트하고 Beyond Compare에서 View > Display Filtes >Left Newer and Orphan 옵션을 선택하면 보통 자신이 수정하지 않은 소스들이 나타나게 된다. (왼쪽폴더가 BASE 폴더인 경우)
자신이 수정하지 않은 소스들을 모두 선택한 후 과감히 복사를 선택한다...
그리고 나서 남은 파일들 중에서 자신이 수정한 코드를 보고 머지를 하면된다.
TIP : CleareCase(혹은 Perfoce)와 Beyond Compare를 연결해두면 변경된 파일을 찾아서 Check In하는 것도 간편하다. command line용 clearcase tool이나 p4를 사용하면 됩니다.