svn 운용중 질문입니다.
글쓴이: kimes / 작성시간: 화, 2005/07/26 - 5:27오후
예를 들어 제 상황을 설명해 볼게요..
svn에 a.c라는 화일이 있습니다.
제 친구와 제가 a.c를 받아서 서로 다르게 수정을 했습니다.
친구가 먼저 커멧을 했습니다.
그러고 제가 이제 커밋을 하려고 하니까 안되더군요..
이럴때에는 어떻게 해야 하나요?
우선 테스트 해본봐로는..
제가 커밋하기 전에
svn update로 새버젼을 받아보니까
친구가 수정하고 커밋한 내용과 제가 수정한 내용의 diff가 생기더군요..
그래서 그걸 고쳐주고.. diff생길때 생긴 잡다한 파일 지우고
해주니 커밋이 되더군요..
이 방법이 맞는건가요? 다들 이렇게 하시나요?
뭐 좀 우아하게 하는 방법없나요?
예를 들면 자동으로 merge가 된다던가 그런거요..
Forums:
Re: svn 운용중 질문입니다.
SVN은 아직 써보지 않아서 조금은 향상된 뭔가가 있을지 모르겠습니다만 기본적으로 CVS와 유사할 것이라고 생각합니다.
먼저, update 할 때 자동으로 합쳐지는것 맞습니다. 예를 들어,
저와 동료가 함께 작업하는 어떤 소스가 있다고 가정할 때, 제가 그 안의 fn1() 함수를 보다 효과적인 방식으로 수정하는 동안에 제 동료가 fn2()의 구현을 마쳤다면 제가 update 할 때 그 내용이 자동으로 합쳐지게 됩니다.
다만, 이 똑똑한 동료가 남은 시간에 fn1()의 기존 구현에 존재하는 몇몇 버그를 수정하여 저보다 먼저 commit 했다고 합시다. 이제 제가 수정을 마치고 update를 하게 되면 fn2()의 경우와는 달리, fn1()의 경우 누구의 구현이 맞는 것인지/보존되어야 하는지 시스템이 알아서 판단하고 적용한다는 것은 거의 불가능합니다. 이 때 충돌이 발생하고 사람의 "논리적" 손길이 들어가야 합니다.
... 아마, 시스템이 알아서 해주면 오히려 제가 화나게 될지도 모르겠습니다. :-)
--
"The love you take is equal to the love you make." The End, by Beatles
댓글 달기