2008/12/30 20:14
소스코드 관리가 아닌, 바이너리 데이타를 관리하기 위한 용도로 서브버전을 쓸경우 애로사항이 발생하는데, 관련해서 정리해봅니다.
혹시 더 좋은 해결책이 있으면 저나 다른 분들을 위해 코맨트 부탁드립니다.
혹시 더 좋은 해결책이 있으면 저나 다른 분들을 위해 코맨트 부탁드립니다.
문제점
- 서브버전은 낙관적 잠금을 채택한 버전관리툴이다. (비주얼 소스 세이프와 다른 점)
- 소스코드(텍스트)는 Diff를 통해 Merge 가 가능하지만 바이너리는 어느 한쪽은 버릴 수 밖에 없음
기대결과
- 비주얼 소스 세이프처럼 강한 잠금 (누가 작업하고 있으면 다른 사람은 못 건드는) 정책 적용
- 체크아웃 하게되면 최신 버전으로 업데이트 되고, 체크아웃 한 사람 외에는 못건들어야 함
해결책
- 서브버전 클라이언트 (예시는 TortoiseSVN) 설정에서 Subversion configuration file : Edit 선택
- 해당 파일이 열리면 상당히 복잡한데... 아래와 같이 수정
[auth] [helpers] [tunnels] [miscellany] global-ignores = Thumbs.db enable-auto-props = yes [auto-props] *.* = svn:needs-lock=*
- 위에서 핵심은 enable-auto-props = yes 로 바꾼 것과
- [auto-props] 속성값으로 *.* = svn:needs-lock=* 로 세팅한 부분임.
- 서브버전 자체는 중앙 저장소가 있긴하지만 많은 정보가 개별 클라이언트의 작업 폴더에 저장됨
- 따라서 개별 서브버전 클라이언트마다 모두 세팅이 필요함.
이와 같은 과정을 거치면, 해당 서브버전 클라이언트에서 Add –> Commit 된 파일은 모두 needs-lock 속성이 활성화 된다.
Checkout 으로 파일을 받아보면 모두 읽기전용(Read-only)로 파일이 표시되게 된다. ( 대략 아래와 같이...)
회색이 svn:needs-lock 속성이 활성화된 상태이고, 초록색이 기본 상태.
이 상태에서 파일을 변경하려면 SVN Get lock을 하면되고 그러면 다른 사람이 작업 중인지, 최신버전 인지 파악 후 Lock을 가져오게 된다. 만약 다른 사람이 작업 중이라면, 누가 작업 중이라 Lock을 할 수 없다는 에러 메시지가 뜨므로 삽질(!)할 염려가 없다.
미흡한 점
- 한 명이라도 서브버전 클라이언트에서 needs-lock 속성이 자동으로 먹도록 Auto-Props 설정을 안할 경우 그 사람이 추가한 모든 파일은 여러명이 편집 가능한 상태가 되기 때문에 일단 초록색 아이콘이 보이면 긴장해야 한다.
- 분명 설정을 제대로 했음에도 불구하고 간혹 위 그림과 같이 되는 경우가 있다. (재현 불가...)
- 따라서 작업자가 모두 초록색 아이콘과 회색 아이콘의 차이를 인식해야 함.
'Pragmatic tools' 카테고리의 다른 글
| 서브버전에서 바이너리 데이타 다루기 (6) | 2008/12/30 |
|---|---|
| Redmine - 한글과 관련된 문제와 해결책 (5) | 2008/02/14 |
| Redmine - 기타. 네이버를 이용한 E-Mail 통지 (Notification) 셋업 (2) | 2008/02/12 |
| Redmine - 2.2 Subversion 연동하기 (Apache 이용) (2) | 2008/02/02 |
| Redmine - 2.1 Subversion 연동하기 (svn protocol 이용) (2) | 2008/02/01 |
| Redmine - 1. 기본 설치 (0) | 2008/02/01 |
2008/10/29 23:18
[...]
아, 이때는 나도 프로그래머였구나...
'...' 카테고리의 다른 글
| ㅎㅎ 우연히 다시 읽게된 예전 자기 소개 (6) | 2008/10/29 |
|---|---|
| 충치 치료 30만원 vs 한 가족을 위한 소중한 선물 5만원 (0) | 2008/09/26 |
| 꿈을 꾸었다. (0) | 2008/01/16 |
2008/10/13 19:04
적을 만나면 계획은 바뀐다 - 헬무트 폰 몰트케
그렇지만 아무런 계획도 안세우고 적을 만나야 할까? 설마...
흔히 계획을 잡고자 할때, 불확실성이나 변경이 너무 크다며 저항하는 경우가 있습니다. 즉, 계획을 잡을 수 없다는거죠. 그렇지만 비용이 투입되는 프로젝트에서 계획없이 일한다는 것은 상상할 수 없습니다.
그러면 왜 다들 계획을 잡는데 주저할까요? 그건 아마도 계획을 완벽한 결과물로 보기 때문이 아닌가합니다.
공들여 수립한 계획이 얼마 지나지 않아 휴지조각이 됐을때의 좌절감을 겪어보면 계획은 그저 윗사람에게 보여주는 것 정도... 즉, 냉소적이 됩니다.
그렇다면 생각을 바꿔보는건 어떨까요? 문제 프로젝트가 당연한것처럼(!) 계획도 바뀌는게 당연한다고... 그게 자연스러운 거라고.
계속 바뀌는 (변화하는) 환경이라면... 흠, 애자일한 방법이 잘 통하겠죠?
그래서 나온 책이 바로 바로 "불확실성과 화해하는 프로젝트 추정과 계획"이 아닐까 합니다.
사실, 스토리포인트 , 벨로시티(속도), 이상적인 작업일, 플래닝포커를 활용한 플래닝등은 이미 많은 애자일 방법론 책에서 설명하고 있기는 합니다.
하지만 이 책 만큼 이론과 실제 사례 그리고 저자의 경험이 녹아있는 교훈을 주는 책은 없었죠.

인사이트 책 답게 번역은 흠 잡을데 없이 깔끔합니다.
더보기
이제 얼른 "스크럼-Agile Software Development with Scrum"을 읽어봐야겠네요.
2년전 처음 스크럼을 도입하고자 했을때 이 책이 번역서로 나오면 참 좋겠다 싶었는데 드디어...
'Agile Game Project' 카테고리의 다른 글
| 계획보다 중요한 계획하기 - 불확실성과 화해하는 프로젝트 추정과 계획 (3) | 2008/10/13 |
|---|---|
| 그럴리는 없지만, 만약 프로젝트에서 어느정도(!) 정확한 예측과 계획이 가능하다면... (0) | 2008/01/30 |
| 헉슬리 CBT 출정식 동영상을 보면서 느낀 애자일 (3) | 2007/11/06 |
| AgileOST 2007 후기 (1) | 2007/09/30 |
| 린 소프트웨어 - 프로젝트를 넘어 조직으로... (2) | 2007/09/25 |
| 게임 기획을 발전시키기 위한 플레이 피드백 따라잡기 ( Tracking Player Feedback To Improve Game Design ) (0) | 2007/09/05 |
|
Tracked from The note of Legendre | 2008/10/31 12:04 | DEL
Agile Estimating and Planning의 번역서로, "규모 추정, 우선순위, 일정 배치"가 책의 부제이다. 이 책의 저자인 마이크 콘은 사용자 스토리의 저자이다. 책에서는 사용자 스토리의 내용을 이어받아 인덱스 카드를 사용하고, 이터레이션 가운데 할 일에 스토리 점수를 매기는 과정들이 묘사된다. 기억에 남는 네용은 일정 버퍼를 소개한 내용인데, 실생활에서 어떤 지점에 어느 시간까지 가야할 때 여유 시간을 배치하는 일과 비슷하다고 생각했.. |
2008/09/26 14:32
[...]
|
아침에 치과에 들려 앞니 충치 치료를 했다. 레진(?) 으로 무언가를 10분 정도 하더니 30만원이란다...
점심을 먹고와서 말라위라는 알 수 없는 나라의 알 수 없는 가족을 위해서 염소를 선물했다.
염소는 가족을 위한 소중한 보물입니다. 염소는 1리터의 신선한 우유를 매일 공급해주며, 염소 퇴비는 채소농장을 위한 좋은 비료가 됩니다. 또한 염소는 열악한 기후와 초원에서도 생존력이 강하며, 무엇보다 염소는 1년에 2-3마리의 새끼를 낳아서 가정 경제에 큰 힘을 불어넣어 줍니다.
만성적인 가뭄으로 식량위기를 겪는 말라위에서 염소 선물은 어린이들과 각 가정에 든든한 힘이 될 것입니다
아주 특별한 염소를 선물하는 기쁨을 맛보세요.
만성적인 가뭄으로 식량위기를 겪는 말라위에서 염소 선물은 어린이들과 각 가정에 든든한 힘이 될 것입니다
아주 특별한 염소를 선물하는 기쁨을 맛보세요.
예전에 읽은 The 4-Hour Workweek 라는 책의 내용이 문득 떠오른다. 돈의 가치는 언제 어디서 어떤 곳에 쓰이냐에 따라 큰 차이를 보인다는...
그래서 결론은 치과는 비싸고 그 돈이면 정말 좋은 일 많이 할 수 있겠다라는건가? 흠...
'...' 카테고리의 다른 글
| ㅎㅎ 우연히 다시 읽게된 예전 자기 소개 (6) | 2008/10/29 |
|---|---|
| 충치 치료 30만원 vs 한 가족을 위한 소중한 선물 5만원 (0) | 2008/09/26 |
| 꿈을 꾸었다. (0) | 2008/01/16 |
2008/09/22 11:15
[Resource]
MY DADDY HAS NO MORE TIME FOR ME. 에서는 눈물이 찔끔
일정과 관련한 애환이 많이 나오는데, 그 BOSS 라는 사람들이 불확실성과 화해하는 프로젝트 추정과 계획 을 읽으면 좀 나아지려나요? 번역되기를 한참 기다렸는데 드뎌 나왔네요.
'Resource' 카테고리의 다른 글
| Hug a Developer Today (1) | 2008/09/22 |
|---|---|
| PT를 잘 만들고 싶다면... (1) | 2008/01/25 |
| 나의 M4650 대기화면 (2) | 2008/01/22 |
| 비트토렌트(Bittorrent) 리서치 (0) | 2007/09/24 |
| Ship It! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드 출판 됩니다. (2) | 2007/07/27 |
| 연애 능숙도 테스트 (0) | 2007/05/06 |
서브버전에서 바이너리 데이타 다루기
2008/12/30
ㅎㅎ 우연히 다시 읽게된 예전 자기 소개
2008/10/29
계획보다 중요한 계획하기 - 불확실성과 화해하는 프로젝트 추정과 계획
2008/10/13
충치 치료 30만원 vs 한 가족을 위한 소중한 선물 5만원
2008/09/26
Hug a Developer Today
2008/09/22
서브버전에서 바이너리 데이타 다루기
2008/12/30
Redmine - 한글과 관련된 문제와 해결책
2008/02/14
Redmine - 2.2 Subversion 연동하기 (Apache 이용)
2008/02/02
오랜만에... 맥 관련 포스팅 - 패러럴즈에서 와이브로 쓰기
2008/02/08
스프링노트 - 예리한데...
2007/05/05
MacJournal에서 Tistory로 포스팅 하기
2007/05/01
해킨토시가 된 T42 - 오리지널맥은 아니지만, 키감만은 쫀득쫀득
2007/04/29
Hug a Developer Today
2008/09/22
PT를 잘 만들고 싶다면...
2008/01/25
나의 M4650 대기화면
2008/01/22
비트토렌트(Bittorrent) 리서치
2007/09/24
HanRSS 중요한 글 가져오기 프로젝트
2007/05/06
기묘의 신바람 나는 웹 개발, 루비 온 레일스 세미나 ㄱ ㄱ ㅆ
2007/04/25





