나의 즐겨찾기 | 블로그홈 | 바로가기 바로가기 | 로그인
시작이 있는 곳에 끝이 있다!
블로그  |  사진갤러리  |  동영상갤러리 방명록  |   즐겨찾기 추가
jrogue (jhrogue)
프로필     
오늘 전체
방문자 407 1722895
구독자 0 180
댓글 0 3706
참조글 1 968
 인기도 :
 이 블로그 점수주기
전체 글보기(824)
열린 일기장
메모광
끝없는 뽐뿌질(화)
독서광(목)
새소식 정리(금)
영화광(일)
좌충우돌 해외 여행기
HanRSS 로 구독하기Fish 로 구독하기
 즐겨찾기
 즐겨찾기 글모음
개설일 : 2003/10/02
 

초고속 분산 소스 코드 관리 시스템인 Mercurial

2006.02.17 14:41 | 새소식 정리(금) | jrogue

http://kr.blog.yahoo.com/jhrogue/1359187 주소복사

-= IMAGE 1 =-

기억력 나쁜 jrogue군... 이제 블로그를 메모장으로 쓰기 시작했다. T_T
오늘은 jrogue군을 위해 초고속(!) 분산 소스 코드 관리 시스템인 Mercurial(hg)를 간략하게 정리해보았다.



CVS나 subversion과 같은 느리고 복잡한 소스 코드 관리 시스템을 운영하다가 과로로 쓰러진 관리자가 속출하자 개발보다 관리에 더 신경을 쓸 수 없다고 생각한 일련의 개발자들이 초경량 초고속 분산 소스 코드 관리 시스템을 새롭게 작성하기로 마음먹고 시작한 프로젝트인 Mercurial(이하 hg로 부른다)이 드디어 정식 릴리즈로 한걸음씩 다가서고 있다.

안그래도 소스 코드 관리 시스템 종류가 많은 상황에서 또 하나 추가되면 머리가 더 아파지지 않겠느냐는 걱정이 앞설텐데... hg의 미니멀리즘적인 단순한 명령어(http://www.selenic.com/mercurial/wiki/index.cgi/QuickStart)를 딱 보면... 갑자기 정신이 번쩍 들테다.

프로젝트 생성 방법을 한번 볼까?

$ cd project/
$ hg init # creates .hg
$ hg addremove # add all unknown files and remove all missing files
$ hg commit # commit all changes, edit changelog entry

가지치기와 결합은 또 어떻구?

$ hg clone linux linux-work # create a new branch
$ cd linux-work
$
$ hg commit
$ cd ../linux
$ hg pull ../linux-work # pull changesets from linux-work
$ hg update -m # merge the new tip from linux-work into
# our working directory
$ hg commit # commit the result of the merge

패치 입수가 진짜 예술이다.
$ cat ../p/patchlist | xargs hg import -p1 -b ../p

패치 생성은 또 어떻구?
(make changes)
$ hg commit
$ hg tip
28237:747a537bd090880c29eae861df4d81b245aa0190
$ hg export 28237 > foo.patch # export changeset 28237

분산 환경이라고 했지? 네트워크 설정을 보면 입이 벌어질거다. 이거 만든 개발자는 진짜 천재다.

# pull from the primary Mercurial repo
foo$ hg clone http://selenic.com/hg/
foo$ cd hg

# export your current repo via HTTP with browsable interface
foo$ hg serve -n "My repo" -p 80

# pushing changes to a remote repo with SSH
foo$ hg push ssh://user@example.com/~/hg/

# merge changes from a remote machine
bar$ hg pull http://foo/
bar$ hg update -m # merge changes into your working directory

# Set up a CGI server on your webserver
foo$ cp hgweb.cgi ~/public_html/hg/index.cgi
foo$ emacs ~/public_html/hg/index.cgi # adjust the defaults

hg 설명 끝이다. 지금 바로 hg 사용 준비하시라!

http://www.selenic.com/mercurial/wiki/index.cgi

EOF

conv2 2006.02.20  08:39  [61.100.138.211]

jrogue님에게 CVS 사용방법을 ppt로 들은게 기억나는데, 이번엔 Mercurial 까지~~ 한번 써봐야겠습니다. ^^

답글쓰기
prince 2006.02.21  00:55  [200.21.205.215]

멋도 모르고 RCS 같이 썼다가 감동먹은 후 용케 계속 트래킹 하고 있었네...
그 때가 처음 소스코드 버전관리 하던 때였지? 밤새워 프로젝트 하다가 새벽에 두 시간인가 세시간 남기고 '엑스트라 크레딧을 위하여 추가한 기능은 없던걸로 하자' 로 결정을 낸 후 소스 롤백 시키고 발표준비하던 기억이 새록새록...

답글쓰기
prince 2006.02.21  00:59  [200.21.205.215]

기억이 계속...
그 프로젝트가 아마 jrogue가 포함된 남자팀 하나, 그리고 '해'님이 포함된 여자팀 하나가 최종 경합을 벌인 것으로 기억이 나는군요... '해'님은 기억하시겠죠?

답글쓰기
2006.02.21  07:41  [146.122.45.209]

음홧홧... 저 '치매' 초기예요. T_T
컴파일러 프로젝트 말씀하시는 건가?!?!?!

답글쓰기
jrogue 2006.02.21  23:12

conv2님, 한번 써보시면 후회 없을 겁니다.

답글쓰기
jrogue 2006.02.21  23:14

닭아, 세상에... 14년 전 이야기를 불쑥 꺼내다니... 너 기억력 되게 좋다?

답글쓰기
jrogue 2006.02.21  23:14

해님, 폭스(?)베이스 만들던거 기억 안나세요?

답글쓰기
prince 2006.02.21  23:38  [200.21.205.215]

데이터베이스 텀프로젝트, 교수님은 예제로 레퀴엠이라는 데이터베이스 엔진을 주셨고, 프로젝트는 데이터베이스 엔진을 만들라는 것. 그때, 대부분의 팀이 엔진은 그대로 베끼고, 인터페이스만 바꾼데 반해, 딱 두 팀만 엔진 자체를 새로 만들었죠. 하나는 코드명 '콩가리' 다른 하나는 폭스베이스... 더 이상 폭로 했다간...

답글쓰기
2006.02.23  03:31  [146.122.45.205]

다들 진짜 기억력 좋으시네요. 나중에 Purdue에서 DB 수업 들으면서, 친구들한테 '우린 데이터베이스엔진 학부 때 완전히 첨부터 짰어'라고 자랑하던 기억은 나는데....

왜 모든 프로젝트가 한꺼번에 뒤죽박죽 섞여서 떠오를까요.. T_T 증말 늙나봐요. '내가 한 프로젝트는 다 기억한다'라고 자신했었는데.... 이제는...슬포다...

답글쓰기
jrogue 2006.02.23  22:09

해님, 잡닭군의 기억력은 정말 대단해요.

답글쓰기

댓글쓰기

댓글쓰기 입력폼

포스트 목록 닫기

목록보기
 
2009 12월
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
최근 댓글 전체보기
저는 서점에서 읽다가 ..
im kathy , i..
im kathy , i..
im kathy , i..
im kathy , i..
최근 참조글 전체보기
리눅스 * 그냥 재미로
Valtrax onli..
졸곰의 생각
Ambien hallu..
지저깨비의 생각
최근 글
소프트웨어 컨플릭트 2..
[일상다반사] 리눅스 ..
The Art of P..
[공지] '컴퓨..
맥북 국내 판매 개시!..
지난 글
2009년 1월
2009년 2월
2009년 3월
2009년 4월
2009년 5월
2009년 6월
2009년 7월
2009년 8월
2009년 9월
2009년 10월
2009년 11월
2009년 12월