Skip to content
isdnetworks
Go back

버전 관리를 처음 쓰면서

팀에서 SVN을 쓰고 있었다. 그전까지는 파일을 압축해서 주고받았다.

Table of contents

Open Table of contents

남의 것이 없어졌다

svn commit을 하고 나니 다른 사람이 고친 부분이 사라졌다는 이야기를 들었다.

확인해 보니 내가 올리면서 덮은 것이었다. 내가 svn checkout한 뒤에 그 사람이 올린 변경이 있었는데, 내 작업 폴더에는 그게 없으니 옛 상태가 다시 올라갔다.

충돌 표시가 나왔다

그 뒤로 svn update를 먼저 하게 됐다. 그러니 이번에는 파일이 넷으로 늘었다. 원본 옆에 .mine.r141·.r142가 생겼다.

<<<<<<< .mine
int limit = 20;
=======
int limit = 50;
>>>>>>> .r142

처음에는 파일이 깨진 줄 알았다. 문서를 보니 .mine은 표시 없는 내 판, .r141은 내가 받았던 판, .r142는 서버에서 방금 받은 판이었다. 원본에는 세 표시가 들어간다.

어느 쪽이 맞는지는 코드만 봐서는 몰라 그 사람에게 물었다. 표시를 지우고 하나만 남긴 뒤 svn resolved를 해야 커밋이 된다. 딸린 파일 셋도 그때 함께 지워진다.

자주 받으면 충돌이 작다

며칠 만에 update하면 충돌이 여러 파일에서 나고 각각 덩어리가 컸다. 아침마다 받으면 하나도 안 나거나 나도 몇 줄이었다.

같은 파일을 둘이 만지고 있으면 미리 말하는 편이 빨랐다. 도구가 아니라 순서의 문제였다.

저장소에 올리지 않을 것

svn status? 표시가 잔뜩 나왔다. .class 파일, Eclipse의 .settings 폴더, 로컬 DB 설정이었다.

svn propset svn:ignore로 뺐다. 빌드 결과물과 개인 설정은 올리지 않는다는 것을 그때 배웠다.

DB 접속 정보를 올렸다가 뺀 적도 있는데, 저장소 이력에는 남아 있다. 그것을 어떻게 지우는지는 아직 모른다.

정리


Share this post on:

Previous Post
로그인은 되는데 다음 요청에서 풀렸다
Next Post
임시로 붙인 이름이 그대로 남았다