퍼포스(Perforce)를 좀 더 편하게 사용하는 방법

퍼포스는 속도가 빠른 버젼 컨트롤 시스템(version control system)인데, 개발 환경이 퍼포스를 지원하지 않을 경우엔 한 가지 치명적인 단점이 있습니다. 그건 바로 파일을 변경하려면 퍼포스 서버에 미리 알려야 한다는 것입니다. 그 과정은 번거롭고 작업의 흐름을 끊으므로, 생산성을 떨어트립니다. 그래서 예전엔 각종 명령어를 조합해서 변경 사항을 자동으로 변경 목록에 추가하는 배치 파일을 만들어서 쓰기도 했습니다. 최근 퍼포스 버전에선 좀 더 편한 방법을 사용할 수 있어서, 그 방법을 정리해 봅니다.

P4V의 메뉴에 보면 Reconcile Offline Work라는 명령이 있는데, 그걸 사용하면 변경된 파일을 자동으로 찾아 줍니다. 따라서, 이름 변경과 이동을 제외한 모든 변경은 나중에 그 명령으로 처리하면 됩니다. 단, 어떤 소프트웨어는 읽기 전용 파일에 쓰지 못하는 문제가 있어서, 따로 열어 주어야 합니다. 그리고, 그 명령을 사용할 땐 Connection 메뉴의 Edit Current Workspace에서 다음 두 가지 설정도 해 주는 게 편합니다.

첫째, Advanced 탭의 File Options에서 Rmdir 옵션을 선택합니다. 그 옵션은 퍼포스를 이용하지 않고 폴더를 지웠을 때, 그 폴더가 지워졌음을 퍼포스 서버가 알 수 있게 해 줍니다. 그런데 그 옵션은 빈 디렉토리를 저장소에 남겨 두기 어렵게 만드는 문제가 있습니다. 그 문제는 빈 디렉토리에 don’t_delete_me.txt와 같은 파일을 두는 것으로 해결할 수 있습니다.

둘째, Basic 탭의 Workspace Mappings에서 무시할 폴더나 파일을 해제합니다. 그러면 그 폴더나 파일이 Reconcile Offline Work 창에 표시되는 일을 막을 수 있습니다. 그리고 ‘*’ 와일드 카드를 지정하면 제대로 동작하지 않는 경우도 있는 것 같습니다.

추가적으로, Advanced 탭의 File Options에서 Allwrite 옵션을 선택하는 것도 고려해 볼 수 있습니다. Allwrite 옵션은 파일에 읽기 전용 속성을 설정하지 않게 합니다. 이 옵션을 설정해 두면, 퍼포스로 미리 Check Out을 하지 않고도 파일을 쉽게 편집하고 갱신할 수 있게 됩니다. 이 옵션의 단점은 파일 변경 시 그 파일이 자동으로 pending changelist에 추가되지 않는다는 것인데, 크게 문제가 되진 않습니다. 그리고 이 옵션을 설정해 두면, Get Latest Version 등으로 버젼을 받아 오기 전에 편집 중이던 파일을 pending changelist에 반드시 추가해 줘야 편집하던 파일이 경고도 없이 덮어 쓰여지는 일을 막을 수 있었습니다. 다행히도, allwrite와 noclobber가 설정된 클라이언트는 느리지만 안전한 동기화를 하도록 퍼포스 서버 2013.2 버젼에서 바뀌어서, 편집 중이던 파일을 pending changelist에 추가해야 하는 번거로움은 사라졌습니다.

다음 설정도 해 두면 좋습니다.

  • Perferences 창의 Logging에서 Show p4 command output for file operations를 켭니다.
  • Log 창에서 우클릭해 컨텍스트 메뉴를 띄우고 View Timestamp를 켭니다.
  • P4VS, P4GT, 그리고 P4OFC 등의 플러그인도 내려 받아 사용합니다.

참고:

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중