|
|
|
|
|
 기억력 나쁜 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
|
http://kr.blog.yahoo.com/jhrogue/trackback/8484/1359187
-
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
컴파일러 프로젝트 말씀하시는 건가?!?!?!
답글쓰기
-
-
2006.02.21 23:12
-
conv2님, 한번 써보시면 후회 없을 겁니다.
답글쓰기
-
-
2006.02.21 23:14
-
닭아, 세상에... 14년 전 이야기를 불쑥 꺼내다니... 너 기억력 되게 좋다?
답글쓰기
-
-
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 증말 늙나봐요. '내가 한 프로젝트는 다 기억한다'라고 자신했었는데.... 이제는...슬포다...
답글쓰기
-
-
2006.02.23 22:09
-
해님, 잡닭군의 기억력은 정말 대단해요.
답글쓰기
-
|
|
|
|
|