이후, 변경이 있을 경우 해당 PC 에서 Home-L 로 복사하고 (일종의 commit), Home-L 에서 다른 PC 로 복사한다 (일종의 update). 주인장의 경우, 집에서 나갈 때 Home-W 에서 commit 을 해주고, 연구실에 도착하면 제일 먼저 update 를 해 주는 식으로 했다.
(Home-L 은 관여하지 않고, Home-W 와 Lab-W 사이에서 주고 받게 할 수도 있겠다.)
일단, 매일 컴퓨터 앞에 처음 앉을 때와 마지막으로 일어설 때 꼬박꼬박 rsync 를 챙겨 주는 것이 귀찮은 일이다.
더 큰 문제는, update 하지 않고 commit, 또는 commit 하지 않고 update 했다가는 큰 낭패를 볼 수 있다는 점이다. 예를 들어 Home-A 에서 화일을 수정했는데, 이것을 commit 하는 과정을 잊은 채로 update 를 하면 Home-L 에 있던 화일로 복구(?)되어 버린다. 수정한 것을 그대로 날려버림.
smart sync pro 란 윈도우즈용 프로그램이 있는데, 이게 꽤 쓸만하다.
폴더의 상태를 저장해 두었다가, 변화가 생길 경우 변경 사항을 하나의 화일로 만든다. 이 화일을 이동식 디스크, 이메일, FTP 등을 사용해서 상대 PC 로 넘겨 주고, 상대방은 그 화일을 사용하여 자신의 로컬 폴더에 변경 사항을 저장한다.
장점 :
쉬운 인터페이스
단점 :
이건 smart sync pro 의 단점은 아닌데.. 제일 처음 폴더를 동기화할 때는 모든 화일을 묶어서 하나의 화일을 생성하기 때문에, 상대방 PC 쪽에 1GB 짜리 화일을 전송해야 했다. 그런데 계속 도중에 FTP 접속이 끊기는 바람에, 결국 테스트만 성공하고 정작 Work 폴더는 동기화하는 데에 실패
이것도 그다지 큰 단점은 아니겠지만.. 어떤 화일을 수정할 경우, 반드시 수정한 쪽에서 commit 에 해당하는 동작을 해 주어서 변경내역 화일을 생성해 주어야 상대방 쪽에서 동기화를 할 수 있다. (rsync 나 unison 같은 경우는 수정한 쪽이 아니라 다른 쪽에서만 명령을 수행해 주어도 된다)
Subversion의 경우에는 local에 원본이 보관되므로 Home-W, Lab-W에 두 배의 저장공간이 필요한데 비해, CVS에서는 binary파일에 대해 server에서 diff 저장이 지원되지 않으므로, Home-L쪽에만 binary공간의 크기가 커질거라고 생각이 드는데요. Binary가 자주 update되면 이것도 문제긴 하겠네요.
네트웍 전송 속도가 안 좋은 상황에서는 subversion이 좋긴한데 말이죠.
-- 222.106.68.142 2004-8-26 2:16 pm
아 그러고보니... CVS는 서버 쪽에서만 보관을 했었죠. 근데 어쨌거나 굳이 버전 관리까지 (있으면야 좋겠지만) 필요한 정도는 아니다 싶고, Unison으로 충분히 만족스럽습니다. :-)