'dvcs'에 해당되는 글 4건
- 2009/10/03 분산버전관리 머큐리얼로 개인작업 관리하기 (2)
- 2009/09/10 My Recent Tweets 20090909
- 2009/07/15 My Recent Tweets 20090715
- 2009/04/03 분산버전관리 git을 사용해보다
- 분산버전관리 머큐리얼로 개인작업 관리하기
Tweet
- Game Development
- 2009/10/03 02:30
- dvcs, git, mercurial, perforce, 머큐리얼, 버전관리, 분산버전관리시스템, 퍼포스
-
우리회사는 버전관리에 퍼포스를 씁니다. 일부 정보를 로컬의 특정 폴더(.svn)에 두는 서브버전과는 달리 퍼포스는 모든 정보가 서버에 있습니다. 그래서 모든 작업에 서버와의 통신이 필요합니다. 그럼에도 규모가변성은 상당히 좋은 것으로 알려져있더군요.
가끔 중요 마일스톤이 다가오면 퍼포스 저장소를 락합니다. 그러면 리드의 허락이 있기 전까지는 커밋(퍼포스 용어로는 서브밋)이 불가능하죠. 보통 안정화를 위해 이러한 작업을 합니다. 문제는 해당 마일스톤 릴리즈와 전혀 상관없는 작업을 하는 사람도 작업물을 한참동안 커밋하지 못하게 된다는 것이죠. 특히 기간이 길어질 경우, 그 사이에 한 기능이 아니라 여럿을 작업해놓을 수 있는데, 이 경우 나중에 락이 풀리면 한꺼번에 커밋을 하게 되죠. 이렇게 여러 기능을 한꺼번에 커밋하는 것은 좋지 않죠. 나중에 문제가 생겨 그 중 한 기능만을 되돌려야 하는 등의 경우에 문제가 생기기 때문이죠.
이럴 때 로컬 버전 관리의 필요성이 느껴지지요. 이를 위해 최근 대유행인 DVCS(Distributed Version Control System)을 응용할 수 있습니다. 근본적으로 DVCS는 중앙저장소의 개념이 없기 때문에 이러한 로컬 버전 관리 작업에 최적일 수 있는 것이죠.
그 중에서도 파이썬 기반의 Mercurial을 사용하여 작업하는 과정을 보여드리겠습니다. 특히 윈도우탐색기에 통합되어 동작하는 TortoiseHg를 기준으로 설명합니다(아쉽게도 아직은 초기 버전이라 완성도가 TortoiseSVN에 비해 많이 떨어집니다).
이상입니다. 서브버전과 사용법이 상당히 유사하다는 머큐리얼의 장점 때문에 서브버전에 익숙하신 분이면 적응에 어려움이 없으실겁니다(이것이 또다른 인기 DVCS인 git과 차별하여 내세우는 점이죠. 다른 말로 하면, git은 익숙하진 않지만 강력한 명령어들을 많이 가지고 있다고 볼 수도 있습니다).
* 이 포스트는 blogkorea [블코채널 : 웹, 컴퓨터, it에 관련된 유용한 정보 및 소식] 에 링크 되어있습니다.
가끔 중요 마일스톤이 다가오면 퍼포스 저장소를 락합니다. 그러면 리드의 허락이 있기 전까지는 커밋(퍼포스 용어로는 서브밋)이 불가능하죠. 보통 안정화를 위해 이러한 작업을 합니다. 문제는 해당 마일스톤 릴리즈와 전혀 상관없는 작업을 하는 사람도 작업물을 한참동안 커밋하지 못하게 된다는 것이죠. 특히 기간이 길어질 경우, 그 사이에 한 기능이 아니라 여럿을 작업해놓을 수 있는데, 이 경우 나중에 락이 풀리면 한꺼번에 커밋을 하게 되죠. 이렇게 여러 기능을 한꺼번에 커밋하는 것은 좋지 않죠. 나중에 문제가 생겨 그 중 한 기능만을 되돌려야 하는 등의 경우에 문제가 생기기 때문이죠.
이럴 때 로컬 버전 관리의 필요성이 느껴지지요. 이를 위해 최근 대유행인 DVCS(Distributed Version Control System)을 응용할 수 있습니다. 근본적으로 DVCS는 중앙저장소의 개념이 없기 때문에 이러한 로컬 버전 관리 작업에 최적일 수 있는 것이죠.
그 중에서도 파이썬 기반의 Mercurial을 사용하여 작업하는 과정을 보여드리겠습니다. 특히 윈도우탐색기에 통합되어 동작하는 TortoiseHg를 기준으로 설명합니다(아쉽게도 아직은 초기 버전이라 완성도가 TortoiseSVN에 비해 많이 떨어집니다).
- 먼저 다운로드하여 인스톨합니다. 아쉽게도 재부팅을 요구합니다;
- 퍼포스와 연동된 워크스페이스에 머큐리얼 저장소를 만듭니다.
- 최초로 파일들을 등록합니다. 나중에 용량이 과도하게 커질 수 있으므로 퍼포스가 데이터도 관리하고 있던 경우라면 소스코드만을 추가하실 것을 권장합니다.
- 방금 추가한 것들을 실제 커밋합니다. 파일들의 개수 및 용량에 따라 시간이 좀 걸릴 수 있습니다.
- 이제 끝입니다. 로컬에서 작업하시다가 언제든지 머큐리얼 저장소에 커밋을 하실 수 있습니다.
- 나중에 퍼포스가 준비되면 여러 머큐리얼 커밋을 한꺼번에 서브밋할 수 도 있고, 적절한 버전으로 롤백하면서 여러번 나누어 서브밋할 수도 있습니다.
- 물론 퍼포스 저장소에 새로 올라오는 변경사항들은 주기적으로 머큐리얼 저장소에 동기화해주어야합니다.
- 머큐리얼 로그를 확인해보면 다음과 같은 모습일 수 있겠죠. Sync로 시작하는 것들이 퍼포스와 동기화하기 위한 커밋들입니다.
이상입니다. 서브버전과 사용법이 상당히 유사하다는 머큐리얼의 장점 때문에 서브버전에 익숙하신 분이면 적응에 어려움이 없으실겁니다(이것이 또다른 인기 DVCS인 git과 차별하여 내세우는 점이죠. 다른 말로 하면, git은 익숙하진 않지만 강력한 명령어들을 많이 가지고 있다고 볼 수도 있습니다).
![]() Habanero splash by Tambako the Jaguar |
* 이 포스트는 blogkorea [블코채널 : 웹, 컴퓨터, it에 관련된 유용한 정보 및 소식] 에 링크 되어있습니다.
'Game Development' 카테고리의 다른 글
| 차세대 게임개발 언어로 D에 주목하는 이유 - 2 (6) | 2009/10/20 |
|---|---|
| 크라이엔진 3 발표와 크라이텍코리아 구인 (0) | 2009/10/18 |
| 분산버전관리 머큐리얼로 개인작업 관리하기 (2) | 2009/10/03 |
| 차세대 게임개발 언어로 D에 주목하는 이유 - 1 (10) | 2009/09/19 |
| gamescom 간단 참관기 (6) | 2009/09/02 |
| GDC Europe 2009 참관기 (2) | 2009/08/25 |
- My Recent Tweets 20090909
Tweet
- Tweets
- 2009/09/10 05:57
- agile, Andrei Alexandrescu, bithacks, cartoon shader, CppDepend, D programming language, data-oriented design, dvcs, FeatureBranch, git, NEXUS, NP-Complete, Open-Closed Principle, OpenCL, OpenGL, pass by value, radial basis function, reflection, Single Responsibility Principle, SnowLeopard, Software Transactional Memory, stm, Syntax Highlighter, tedtalks, textmate, vim, zero-length array, 버그트래커
-
이번에는 대분류를 좀 더 세분화해보았습니다. ^^![]() 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 by ManicMaurice |
병행Concurrency
- RT bjoernknafla: Context, context, context - and locality - how not to lose your mind in parallel times http://post.ly/46EX #programming #
- 병행프로그래밍에 관한 독일 게임프로그래머의 블로그글
- RT SoftTalkBlog: Experiment with STM using Microsoft’s free software http://bit.ly/wTRwT #programming #
- C#에서 Software Transactional Memory를 사용해볼 수 있게해주는 실험적 STM.NET이 나왔습니다.
![]() 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) by Matthew Fang |
프로그래밍Programming
- RT cjunekim: Skimming Damon B. Poole's free ebook : Do It Yourself Agile http://bit.ly/J7G5K #programming #
- 김창준님이 트윗하신 애자일 관련 공짜 서적. 쓸만한 정보가 있으려나요?
- RT unclebobmartin: http://bit.ly/snflj Blog about Open-Closed Principle. #programming #
- 개체지향설계의 핵심 원칙 중 하나인 OCP를 설명
- RT programmingjoy: How Not To Optimize #programming http://bit.ly/tYmFp #
- 이제 세월이 바뀌어 더이상 통하지 않는 최적화 기법들에 대한 글
- RT unclebobmartin: http://bit.ly/WPHU2 Blog about SRP. One of the SOLID principles. #programming #
- 개체지향설계의 핵심 원칙 중 하나인 SRP(단일책임원칙)를 설명
- FeatureBranch by Martin Fowler: http://su.pr/2veSmh #programming #
- 리팩토링의 창시자 마틴파울러가 소스버전제어 시의 FeatureBranch에 대해 설명합니다.
- RT programmingjoy: Git changes the game of distributed Web development #programming http://bit.ly/3NWPg #
- 분산버전제어시스템 Git에 대한 소개
- RT programmingjoy: git rebase for the Impatient #programming http://bit.ly/Ia3OG #
- 역시 Git의 rebase 기능에 대한 소개
- RT programmingjoy: The best of both worlds: a VIM plugin for TextMate #programming http://bit.ly/C0zNP #
- ViMate - a vi plugin for TextMate
- RT programmingjoy: The Status of the P Versus NP Problem | September 2009 | Communications of the ACM #programming http://bit.ly/4fzMhw #
- 유명한 P대NP 문제에 관한 친절한 소개글
- RT programmingjoy: SD - A distributed bug tracker that can sync to Trac, Google Code, Github and RT #programming http://bit.ly/uhxAi #
- 나름 쓸만해보이는 버그트래커
- RT IntelSoftware: VIDEO: New D Programming Language with Andrei http://tmogul.com/tweet/6AtOi #programming #
- D 프로그래밍 언어 서적을 집필 중인 Andrei Alexandresue를 인텔이 인터뷰한 동영상
![]() santas - from the Animals' Merry Christmas book by pipnstuff |
그래픽스Graphics
- RT programmingjoy: OpenCL Tutorial - Building an OpenCL Project #programming http://bit.ly/UEuJU #
- 스노우레오파드가 지원하면서 최근 더 관심의 대상이 된 GPGPU 공개표준 언어 OpenCL에 관한 튜토리얼
- RT KageKirin: Stylized Lighting for Cartoon Shader #graphics #programming http://tinyurl.com/nwrkab #
- 일본에서 나온 흥미로운 카툰셰이딩 기법
- RT nvidiadeveloper: What is NEXUS? See what the fuss is about in this trailer http://bit.ly/OuPkU (Hint: Developer awesomesauce) #graphics #
- 엔비디아에서 나온 차세대 GPU 개발 및 디버깅 도구
- RT KageKirin: Noe’s tutorial on deforming 3D geometry using RBFs #graphics #programming http://tinyurl.com/nsmsas #
- 다차원 보간에 유용한 Radial Basis Function을 이용해 지오메트리를 변형하는 기법
- RT KageKirin: OpenGL 3.2 steps up to the plate #graphics #programming http://tinyurl.com/ksavnr #
- OpenGL 3.2 소식
![]() 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에 관련된 유용한 정보 및 소식] 에 링크 되어있습니다.
'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 |
- My Recent Tweets 20090715
Tweet
- Tweets
- 2009/07/15 20:38
- agile, C++0x, Chrome Engine 4, Concurrency, dvcs, GPU, parallelization, Reyes, Screenjelly, Scrum, std::splice, Twitter, 애자일, 트위터
-
분산 버전 제어 시스템 소개: http://su.pr/71wcpc #
Agile Fails Better: http://su.pr/1hO99i #
User-friendly compile errors for templates in C++0x: http://su.pr/1rv3Ws #
Chrome Engine 4: http://su.pr/77X37R #
Curved Ray-Casting for Displacement Mapping in the GPU: http://su.pr/4fPJCM #
Ending the Era of Patronizing Language Design: http://su.pr/1TAqcy #
RT SingleFunction: 105 Examples of Clean and Minimal Twitter Apps http://tr.im/sfCB #
실버라이트3 기반 트위터 클라이언트 ‘소비즈’: http://su.pr/2iWdoJ #
Voxel Tracing: http://su.pr/1AKmwh #
Work-In-Play Limits in Agile Software Development: http://su.pr/9NvOvc #
RT bjoernknafla: Fantastic overview article abt parallelization & related pragmatic tips&tricks from Cantrill & Bonwick: http://is.gd/1w4tm #
SIGGRAPH 2009 Talks: http://su.pr/1pUG4T #
Elements of Modern C++: 2 ECTS advanced C++ course http://su.pr/1oyr5F #
Twitter Search Operators: http://su.pr/2GJJ6z #
Cheat-Sheets.org: http://su.pr/3S4OUU #
RT DexterShin: 회사 지인이 Scrum 가이드 좀 해달라 해서 찾아본 멋진 스라이드. The Zen of Scrum http://tr.im/roTc (잘 모르는걸 말할땐 소심 해여야 하는건데, 이번기회에 공부 해야지 히히. ) #
[STL] std::splice() - 컨테이너의 elements 이동시 loop을 사용하지 말자: http://su.pr/2LqK0Y #
How much boost does a C++ newbie need? http://su.pr/21wcqC #
RT unclebobmartin: RT CodebetterNew: Blog Post Embrace Pain: Agile is abt surfacng pain. It's not abt roses, p.. http://tinyurl.com/ml2nja #
RT eHub: Screenjelly http://tinyurl.com/lrunry #
RT mike_acton: New & improved slides. Doubly-linked list isnt a concurrent data structure. Welcome all feedback! http://tinyurl.com/lj4g5x #
GameNewsHQ.com - Latest Video Game News Updated Live: http://su.pr/2qezwn #
RenderAnts: Interactive REYES Rendering on GPUs http://su.pr/79hRNx #
* 이 포스트는 blogkorea [블코채널 : 웹, 컴퓨터, it에 관련된 유용한 정보 및 소식] 에 링크 되어있습니다.
'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 |
- 분산버전관리 git을 사용해보다
Tweet
- Game Development
- 2009/04/03 01:15
- distributed version control system, dvcs, git, github, vi, vim, 빔
-
작년 초쯤에 지인을 통해 분산버전관리시스템(Distributed Version Control System)이란 것을 알게 되었습니다. 공짜 버전 관리로는 서브버전 이상 가능게 없다라고 생각하고 있었는데... 그 당시 인터넷을 뒤져보니 여럿의 DVCS가 난립하여 유행처럼 번지고 있더군요.
개념적으로 딱히 중앙 저장소라 할만한 것을 유지하지 않는 버전 관리 시스템입니다. 간단히 말해서요;
하지만 써볼 기회는 없었죠. 그 당시 아직 실제 작업에 사용하기에는 시기 상조인 기술이라는 느낌도 있었고 ... 그러다 최근에 github라는 DVCS 중 하나인 git 기반의 온라인 소스 호스팅 사이트를 알게 되었습니다. 그리고 어떤 사람이 그곳에 자신의 빔(Vim) 파일들을 관리하는 모습도 보게 되었고요. 사실 .vimrc를 비롯한 빔 설정과 설치한 플러그인들 관리가 귀찮은 면이 있어서... 그래서 저도 git도 한번 써볼겸 그곳에 프로젝트 하나 만들어 제 빔 파일을 모두 올려놓기로 결심했죠.
일단 개념이 좀 달라 좀 어색하긴 합니다만... 주장대로 빠른 듯은 하더군요. 물론 큰 규모의 프로젝트 파일들로 테스트해본 것은 아니어서 그다지 신빙성은 없습니다; 이제 컴퓨터를 새로 설정하거나 해도 빔 설치 및 설정은 쉽게 끝낼 수 있을듯합니다. ^^
그러고보니 원조격인 소스포지를 필두로 Google Code, github, Trigris.org, launchpad, Project Kenai 등 오픈 소소 호스팅 서비스가 엄청 많군요...
개념적으로 딱히 중앙 저장소라 할만한 것을 유지하지 않는 버전 관리 시스템입니다. 간단히 말해서요;
하지만 써볼 기회는 없었죠. 그 당시 아직 실제 작업에 사용하기에는 시기 상조인 기술이라는 느낌도 있었고 ... 그러다 최근에 github라는 DVCS 중 하나인 git 기반의 온라인 소스 호스팅 사이트를 알게 되었습니다. 그리고 어떤 사람이 그곳에 자신의 빔(Vim) 파일들을 관리하는 모습도 보게 되었고요. 사실 .vimrc를 비롯한 빔 설정과 설치한 플러그인들 관리가 귀찮은 면이 있어서... 그래서 저도 git도 한번 써볼겸 그곳에 프로젝트 하나 만들어 제 빔 파일을 모두 올려놓기로 결심했죠.
일단 개념이 좀 달라 좀 어색하긴 합니다만... 주장대로 빠른 듯은 하더군요. 물론 큰 규모의 프로젝트 파일들로 테스트해본 것은 아니어서 그다지 신빙성은 없습니다; 이제 컴퓨터를 새로 설정하거나 해도 빔 설치 및 설정은 쉽게 끝낼 수 있을듯합니다. ^^
그러고보니 원조격인 소스포지를 필두로 Google Code, github, Trigris.org, launchpad, Project Kenai 등 오픈 소소 호스팅 서비스가 엄청 많군요...
'Game Development' 카테고리의 다른 글
| Mixed Resolution Rendering (0) | 2009/04/23 |
|---|---|
| [해외 개발자 인터뷰] Anton Kaplanyan (2) | 2009/04/17 |
| 분산버전관리 git을 사용해보다 (0) | 2009/04/03 |
| 매크로로 인텔리센스 길들이기 (2) | 2009/03/25 |
| GDC에서 공개될 CryENGINE3 (0) | 2009/03/24 |
| TracePoint를 활용한 디버깅 팁 (0) | 2009/03/21 |


















Recent comment