svn 업데이트 방법의 차이점
안녕하세요, SVN 을 처음사용하는데요 작업한걸 커밋하고 업데이트만 하다 에전 작업과 충돌이 난다는 메시지를 만났습니다. ("directory_name" is already under version control)
작업하려는 것은 project/2011/four/ 안에 있는 html 파일과 images 폴더를 add 하는 거였는데요, 예전 작업했던 것에 이미 디렉토리가 있어서 작업을 하지 못 한다는 메시지를 만났습니다.
개발하신 분께 문의를 했더니 svn 히스토리 파일이 제대로 업데이트가 되지 않은 것 같다고 하시면서 이렇게 해보라고 화면 캡쳐를 보내주셨습니다. 그대로 따라해서 문제는 해결이 되었는데 어떻게 해결이 된건지 잘 이해가 되지 않아서 문의를 드립니다.
전 맨 처음에
cd project/2011/four
svn cleanup
svn update
을 하려고 했습니다.
제가 알고 있기로는 cleanup 이 오래된 svn 이나 lock 이 걸려 있는 파일을 해제하는 거여서 그렇게 하고 나서 업데이트를 받으려고 했는데 제 생각이 맞는지요?? (제 생각대로 하기에 앞서 개발하신 분께 여쭤봐서 제 생각을 실현해보지는 못 했습니다.)
그런데 개발자 분이 알려주신 방법은 다음과 같습니다.
----
cd /
svn up project --set-depth immediates
cd project/2011/
svn up project --set-depth immediates
svn up . --set-depth immediates
svn st
(이렇게 하니 'four' is already under version control) 이라는 메시지가 나옴.
다른 작업자의 동일한 파일을 받아서 copy / paste
svn add four/
'four' is already under version control 똑같은 메시지
ls
svn st
? four 라고 나옴(already under version 메시지 나오지 않음)
svn add four/
----------------
가장 의문이 되는 것은
svn up project --set-depth immediates
의 역활 입니다. 저는 보통 svn up project --set-depth infinity 를 사용했는데요
svn up project
svn up project --set-depth immediates
svn up project --set-depth infinity
의 차이점은 무엇인가요??
svn up project --set-depth immediates
를 하니 project 안에 있는 폴더들은 그대로 있는데 안에 있는 파일들이 모두 사라지는 신기한 현상(?)을 봤습니다. 어떤 역활을 하는건가요??
그리고
svn up . --set-depth immediates
인데요, up 뒤에 있는 점(.) 의 역활이 무엇인가요?
그냥 커밋/업데이트만 하다가 문제가 생기니 해결이 쉽지 않네요.
도움 부탁드립니다.
혹시 svn 관련해서 잘 알 수 있는 사이트가 있을런지요?
다른 문제는 잘 모르겠고요. svn add
다른 문제는 잘 모르겠고요.
svn add four/
'four' is already under version control 똑같은 메시지
==> four 디렉토리를 복사해 오면서 four/.svn 도 같이 복사되서 그런것 같습니다. 아니면 four/.svn 파일이 이상하게 꼬였던지요.
svn st
? four 라고 나옴(already under version 메시지 나오지 않음)
==> four/.svn 디렉토리를 강제로 지우고 다시 svn add four 해보세요.
** four 디렉토리 밑에 하위 디렉토리들이 있으면 .svn을 모두 지워 주세요.
——
———
Life is a tragedy when seen in close-up, but a comedy in long-shot. - Chaplin, Charlie -
댓글 달기