'dvcs'에 해당되는 글 4

  1. 2009/10/03 분산버전관리 머큐리얼로 개인작업 관리하기 (2)
  2. 2009/09/10 My Recent Tweets 20090909
  3. 2009/07/15 My Recent Tweets 20090715
  4. 2009/04/03 분산버전관리 git을 사용해보다

분산버전관리 머큐리얼로 개인작업 관리하기

우리회사는 버전관리에 퍼포스를 씁니다. 일부 정보를 로컬의 특정 폴더(.svn)에 두는 서브버전과는 달리 퍼포스는 모든 정보가 서버에 있습니다. 그래서 모든 작업에 서버와의 통신이 필요합니다. 그럼에도 규모가변성은 상당히 좋은 것으로 알려져있더군요.

가끔 중요 마일스톤이 다가오면 퍼포스 저장소를 합니다. 그러면 리드의 허락이 있기 전까지는 커밋(퍼포스 용어로는 서브밋)이 불가능하죠. 보통 안정화를 위해 이러한 작업을 합니다. 문제는 해당 마일스톤 릴리즈와 전혀 상관없는 작업을 하는 사람도 작업물을 한참동안 커밋하지 못하게 된다는 것이죠. 특히 기간이 길어질 경우, 그 사이에 한 기능이 아니라 여럿을 작업해놓을 수 있는데, 이 경우 나중에 락이 풀리면 한꺼번에 커밋을 하게 되죠. 이렇게 여러 기능을 한꺼번에 커밋하는 것은 좋지 않죠. 나중에 문제가 생겨 그 중 한 기능만을 되돌려야 하는 등의 경우에 문제가 생기기 때문이죠.

이럴 때 로컬 버전 관리의 필요성이 느껴지지요. 이를 위해 최근 대유행인 DVCS(Distributed Version Control System)을 응용할 수 있습니다. 근본적으로 DVCS는 중앙저장소의 개념이 없기 때문에 이러한 로컬 버전 관리 작업에 최적일 수 있는 것이죠.

그 중에서도 파이썬 기반의 Mercurial을 사용하여 작업하는 과정을 보여드리겠습니다. 특히 윈도우탐색기에 통합되어 동작하는 TortoiseHg를 기준으로 설명합니다(아쉽게도 아직은 초기 버전이라 완성도가 TortoiseSVN에 비해 많이 떨어집니다).

  1. 먼저 다운로드하여 인스톨합니다. 아쉽게도 재부팅을 요구합니다; 
  2. 퍼포스와 연동된 워크스페이스에 머큐리얼 저장소를 만듭니다.
  3. 최초로 파일들을 등록합니다. 나중에 용량이 과도하게 커질 수 있으므로 퍼포스가 데이터도 관리하고 있던 경우라면 소스코드만을 추가하실 것을 권장합니다.
  4. 방금 추가한 것들을 실제 커밋합니다. 파일들의 개수 및 용량에 따라 시간이 좀 걸릴 수 있습니다.


  5. 이제 끝입니다. 로컬에서 작업하시다가 언제든지 머큐리얼 저장소에 커밋을 하실 수 있습니다.
  6. 나중에 퍼포스가 준비되면 여러 머큐리얼 커밋을 한꺼번에 서브밋할 수 도 있고, 적절한 버전으로 롤백하면서 여러번 나누어 서브밋할 수도 있습니다.
  7. 물론 퍼포스 저장소에 새로 올라오는 변경사항들은 주기적으로 머큐리얼 저장소에 동기화해주어야합니다.
  8. 머큐리얼 로그를 확인해보면 다음과 같은 모습일 수 있겠죠. Sync로 시작하는 것들이 퍼포스와 동기화하기 위한 커밋들입니다.

이상입니다. 서브버전과 사용법이 상당히 유사하다는 머큐리얼의 장점 때문에 서브버전에 익숙하신 분이면 적응에 어려움이 없으실겁니다(이것이 또다른 인기 DVCS인 git과 차별하여 내세우는 점이죠. 다른 말로 하면, git은 익숙하진 않지만 강력한 명령어들을 많이 가지고 있다고 볼 수도 있습니다).


Habanero splash
Habanero splash by Tambako the Jaguar 저작자 표시변경 금지

* 이 포스트는 blogkorea [블코채널 : 웹, 컴퓨터, it에 관련된 유용한 정보 및 소식] 에 링크 되어있습니다.


크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 2

My Recent Tweets 20090909

이번에는 대분류를 좀 더 세분화해보았습니다. ^^

Freedom
Freedom by che colore ha il buio, stanotte 저작자 표시비영리변경 금지

씨뿔뿔C++

  • CppDepend - NDepend for C++ http://su.pr/7mH3lp #programming #
    • NDepend의 C++ 버전으로 강력한 소스코드 정적분석 도구입니다. 상용입니다만, 한번 써볼 가치가 있어보입니다.
  • Want Speed? Pass by Value: http://su.pr/9gxO1q #C++ #programming #
    • 덩치 큰 개체는 const 참조로 넘겨야 한다는 통념이 더이상 통하지 않음을 보여줍니다.
  • Another great C++ blog: http://su.pr/1quwf7 #programming #
    • 이제 시작 단계임에도 위 글을 비롯하여 유용한 글들이 많은 C++ 블로그
  • RT programmingjoy: bithacks.h - bit hack macros #programming http://bit.ly/W1GBy #
    • 비트 조작 매크로 도구 모음 헤더
  • Interesting Rant on C++'s operator new: http://su.pr/2e30QP #programming #
    • C++의 new 연산자의 단점에 대한 상세한 고찰
  • When is a zero-length array okay? http://su.pr/1MXZyN #C++ #programming #
    • "new T[0]"가 오류가 아닌 이유에 대한 Herb Sutter의 설명
  • C++ introspection library and portable industrial graphical components for GPL and commercial use: http://su.pr/2p7Z9J #programming #
    • 유용해보이는 C++ 리플렉션 공개 라이브러리

Zakim Spires
Zakim Spires by ManicMaurice 저작자 표시비영리변경 금지

병행Concurrency

Pac-Man gets all the girls
Pac-Man gets all the girls by Crashworks 저작자 표시비영리

게임개발GameDev
  • RT SnappyTouch: My data-oriented design article (or why OO sucks for high-perf games) is online http://bit.ly/2vGVWd #programming #
    • 고성능 게임을 위해선 개체지향이 아닌 데이터지향 설계가 필요하다는 GDMag Inner Product 칼럼니스트 Noel의 글
  • RT truwater: 최고의 UI 디자인 툴 - 발사믹모컵 http://bit.ly/rnCjF 메일만 잘 보내면 공짜로 준다는... #
    • 게임개발 시에 UI를 시뮬레이션해봐야 할 때가 많은데, 그 때 유용하게 쓸 수 있을듯.
  • An insightful programmer from Insomniac games mike_acton #ff #followingfriday #
    • Insomniac Games의 프로그래머 Mike Acton. 프로그래머에게 유용한 정보를  많이 올리는 트위터

Explode of rainbow wold.(This is my wold)
Explode of rainbow wold.(This is my wold) by Matthew Fang 저작자 표시비영리변경 금지

프로그래밍Programming

santas - from the Animals' Merry Christmas book
santas - from the Animals' Merry Christmas book by pipnstuff 저작자 표시비영리변경 금지

그래픽스Graphics

one sixty one: This is Today
one sixty one: This is Today by Anna Gay 저작자 표시비영리변경 금지

기타Etc.
  • RT DeliciousHot: 4 Cool Firefox Tools That Are Not Addons http://is.gd/34HER #
    • 유용한 비애드온 형식의 파이어폭스 유틸
  • RT sioum: RT dalgong: 숫자에 얽힌 재미있는 이야가기 있는 site소개 드립니다. http://www.numbergossip.com/ #
  • RT sioum: KAIST 수리과학과에서 진행하는 "금주의 문제"(KAIST Problem of the Week) 가을학기 첫 문제(2009-14)가 지난 금요일에 나왔습니다. 수요일 정오까지 제출마감입니다. http://bit.ly/13Cxd1 #
    • 이런게 있었네요. 수학 난제에 흥미가 있는 분들에게 추천
  • RT gamearchitect: Scott Hanselman's 2009 Ultimate Developer and Power User Tool List For Windows: http://bit.ly/pymI1 #
    • 보석같은 개발 및 비개발 관련 윈도 유틸들을 많이 소개하고 있습니다.
  • RT DeliciousHot: TEDTalks as of 09.02.09 http://is.gd/2TEfI #
    • 영어 공부에도 좋고 영감을 주는 강연도 많은 TEDTalks 링크 모음
  • RT DeliciousHot: Professional Team Management Tips For Creative Folks | How-To | Smashing Magazine http://is.gd/2S7tG #
    • 팀 관리에 관한 유용한 조언
  • RT programmingjoy: Solace - a multilingual support platform inspired by StackOverflow - the BSD license #programming http://bit.ly/3sJCx8 #
  • TweetMyMac - Remote Controls Your Mac via Twitter: http://su.pr/2RXfpQ #
    • 트위터로 맥 원격 제어하기
  • RT programmingjoy: Ars reviews SnowLeopard: LLVM/Clang, Grand Central Dispatch, and OpenCl #programming http://bit.ly/GMaw5 #
    • 맥의 새 운영체제 SnowLeopard에 관한 매우 상세한 리뷰. 기술적으로도 매우 해박하여 읽어볼만합니다.
  • RT programmingjoy: 7 Awesome Free Syntax Highlighters – To Enhance User Readability #programming http://bit.ly/14o5P3 #
    • 블로깅 등에 유용한 일곱가지 구문강조 도구들
  • RT icehit3: t3 64비트 소프트웨어 및 드라이버를 다운받을 수 있는 곳. http://www.start64.com/ >> 64비트 os 사용자라면 필히 방문! #

* 이 포스트는 blogkorea [블코채널 : 웹, 컴퓨터, it에 관련된 유용한 정보 및 소식] 에 링크 되어있습니다. 


크리에이티브 커먼즈 라이선스
Creative Commons License

'Tweets' 카테고리의 다른 글

My Recent Tweets 20091021  (0) 2009/10/22
My Recent Tweets 20090928  (0) 2009/10/01
My Recent Tweets 20090909  (0) 2009/09/10
My Recent Tweets 20090826  (0) 2009/08/26
My Recent Tweets 20090812  (0) 2009/08/13
My Recent Tweets 20090806  (0) 2009/08/06
Trackback 0 Comment 0

My Recent Tweets 20090715


* 이 포스트는 blogkorea [블코채널 : 웹, 컴퓨터, it에 관련된 유용한 정보 및 소식] 에 링크 되어있습니다.  
크리에이티브 커먼즈 라이선스
Creative Commons License

'Tweets' 카테고리의 다른 글

My Recent Tweets 20090806  (0) 2009/08/06
My Recent Tweets 20090727  (0) 2009/07/27
My Recent Tweets 20090715  (0) 2009/07/15
My Recent Tweets 20090705  (0) 2009/07/06
My Recent Tweets 20090624  (0) 2009/06/25
My Recent Tweets 20090608  (0) 2009/06/08
Trackback 0 Comment 0

분산버전관리 git을 사용해보다

작년 초쯤에 지인을 통해 분산버전관리시스템(Distributed Version Control System)이란 것을 알게 되었습니다. 공짜 버전 관리로는 서브버전 이상 가능게 없다라고 생각하고 있었는데... 그 당시 인터넷을 뒤져보니 여럿의 DVCS가 난립하여 유행처럼 번지고 있더군요.

개념적으로 딱히 중앙 저장소라 할만한 것을 유지하지 않는 버전 관리 시스템입니다. 간단히 말해서요;

하지만 써볼 기회는 없었죠. 그 당시 아직 실제 작업에 사용하기에는 시기 상조인 기술이라는 느낌도 있었고 ... 그러다 최근에 github라는 DVCS 중 하나인 git 기반의 온라인 소스 호스팅 사이트를 알게 되었습니다. 그리고 어떤 사람이 그곳에 자신의 빔(Vim) 파일들을 관리하는 모습도 보게 되었고요. 사실 .vimrc를 비롯한 빔 설정과 설치한 플러그인들 관리가 귀찮은 면이 있어서... 그래서 저도 git도 한번 써볼겸 그곳에 프로젝트 하나 만들어 제 빔 파일을 모두 올려놓기로 결심했죠.

사용자 삽입 이미지

일단 개념이 좀 달라 좀 어색하긴 합니다만... 주장대로 빠른 듯은 하더군요. 물론 큰 규모의 프로젝트 파일들로 테스트해본 것은 아니어서 그다지 신빙성은 없습니다; 이제 컴퓨터를 새로 설정하거나 해도 빔 설치 및 설정은 쉽게 끝낼 수 있을듯합니다. ^^

그러고보니 원조격인 소스포지를 필두로 Google Code, github, Trigris.org, launchpad, Project Kenai 등 오픈 소소 호스팅 서비스가 엄청 많군요...
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0

top