목공책 하나 들이셔요~

레이블이 Mercurial인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Mercurial인 게시물을 표시합니다. 모든 게시물 표시

2014년 2월 12일 수요일

Mercurial 리비전 출력과 hgweb UI 변경

이번 포스팅은 Mercurial에 대한 소소한 팁으로 Mercurial의 리비전 번호를 ant에서 추출하는 방법과 Mercurial 서버인 hgweb의 유저인터페이스를 튜닝하는 법에 대해서 알아봅니다. 

저의 개인적인 코딩 스타일이 반영된 것으로 범용적인 솔루션은 아님을 양해 바랍니다.

프로그램에 버전 정보 부여하기

개발팀이 만든 프로그램이 Lab을 떠나서 현장에 설치되고 나면 개발자의 보살핌을 받지 못하게 됩니다. 현장에 설치된 소프트웨어의 버전은 변하지 않지만 개발자들의 PC에는 새로운 버전으로 계속 업데이트되고 있습니다.

이런 상황에서 현장에 설치된 소프트웨어에 어떤 문제가 발생했을 때 난감한 상황이 됩니다.

2014년 1월 30일 목요일

Mercurial 서버 hgweb 설치하기

소스 컨트롤 관리도구(Source Control Management Tool, 이하 SCM)은 소스코드의 형상을 관리하고 팀이 협업하여 개발을 할 수 있도록 지원하는 매우 중요한 인프라입니다.

CVS로 대중화된 SCM은 이후 Subversion으로 대폭 물갈이 되었는데 이들 중앙집중식 SCM의 문제점들이 심각해지면서 새로운 개념이 나오기 시작합니다.

이 새로운 개념은 분산형 버전 컨트롤 시스템(Distributed Version Control System, 이하 DVCS)이라고 불리며, 2단계 레포지토리를 가지는 특징이 있습니다. 로컬 레포지토리는 개발자 개인의 로컬 저장소에서 유지 관리되며, 특정 마일스톤에 다다르면 중앙에 있는 레포지토리로 변경 내용들을 올릴 수 있습니다.

2013년 12월 24일 화요일

[Hg] 5. Mercurial의 레포지토리 구조

이 글은 Joel Spolsky가 저술한 Mercurial 튜토리얼 시리즈 중에서 마지막 글인 "Repository Architecture"를 번역한 것입니다. 원문은 다음 링크를 참조하세요. http://hginit.com/05.html

우리의 레서피는 이제 아주 좋아졌습니다.


2013년 12월 23일 월요일

[Hg] 4. Mercurial의 병합

이 글은 Joel Spolsky가 저술한 Mercurial 튜토리얼 시리즈 중에서 다섯번째 글인 "Merging"를 번역한 것입니다. 원문은 다음 링크를 참조하세요. http://hginit.com/04.html

버전 컨트롤 시스템이 해야 할 가장 중요한 일은 여러명이 한 코드를 편집할 수 있게 지원해 주는 것입니다.

로즈와 제가 구아카몰 레서피를 수정하고 싶다고 상상해 보세요. 로즈는 아보카도의 질을 높이고 싶어합니다. 그녀는 작업을 시작하기 전에 먼저 중앙 레포지토리로부터 최신 버전을 당겨(pull) 옵니다. 그래서 그녀는 최신 버전을 가지고 수정 작업에 들어 갑니다.


2013년 12월 20일 금요일

[Hg] 3. Mercurial 실수를 되돌리는 법

이 글은 Joel Spolsky가 저술한 Mercurial 튜토리얼 시리즈 중에서 네번째 글인 "Fixing Goofs"를 번역한 것입니다. 원문은 다음 링크를 참조하세요. http://hginit.com/03.html

Mercurial은 당신에게 자유롭게 여러가지 시도를 할 수 있게 해 줍니다. 통상적인 편집 과정에서 어떤 실수로 인해 대재앙을 맞았다고 가정해보죠. 아래 처럼요.


2013년 12월 19일 목요일

[Hg] 2. 팀을 위한 Mercurial 셋팅

이 글은 Joel Spolsky가 저술한 Mercurial 튜토리얼 시리즈 중에서 세번째 글인 "Setting up for a Team"을 번역한 것입니다. 원문은 다음 링크를 참조하세요. http://hginit.com/02.html

Mercurial로 공동 작업을 할 때 가장 보편적인 방법은 개발자 각각의 컴퓨터에 있는 개인 레포지토리에 추가하여 중앙 레포지토리를 셋업하는 겁니다. 중앙 레포지토리는 우리가 만들었던 코드 변경에 대해 같이 모여서 거래하고 협의하는 일종의 미팅 장소라고 보면 됩니다.



2013년 12월 18일 수요일

[Hg] 1. Mercurial 기초 다지기

이 글은 Joel Spolsky가 저술한 Mercurial 튜토리얼 시리즈 중에서 두번째 글인 "Ground up Mercurial"을 번역한 것입니다. 원문은 다음 링크를 참조하세요. http://hginit.com/01.html

Mercurial은 버전 컨트롤 시스템입니다. 개발자는 소스코드를 관리하기 위해 이것을 사용합니다. Mercurial은 큰 두가지 목적을 가지고 있습니다.

1. 각 파일의 옛날 버전으로부터의 변화를 추적하고 관리합니다.
2. 다른 버전의 코드들을 병합할 수 있습니다. 그래서 각 팀원들은 개별적으로 작업하고 나중에 그 변화들을 병합하여 하나의 코드로 만들 수 있습니다.

Mercurial이 없다면 당신은 예전 버전의 소스코드들을 모두 담고 있는 여러개의 디렉토리를 만들어야 합니다. 아래 그림처럼요...


2013년 12월 17일 화요일

[Hg] 0. Subversion 사용자를 위한 Mecurial 안내서

저는 버전 컨트롤 시스템(Version Control System, VCM)으로 CVS와 subversion을 사용해 왔습니다. 최근에는 그 중에서 특히 subversion을 더 많이 사용해 왔습니다. 참 좋은 VCM이긴 한데 최근 들어 여러 문제가 생기기 시작했습니다. 버전이 올라가면서 이전 저장소와 호환이 되지 않는 문제도 있었고, 충돌을 제대로 해결하지 못하다가 결국에는 소스 일부를 날려먹는 일까지 생겼습니다.

그래서 최근 몇년 사이에 주목받고 있는 새로운 개념의 분산형 SCM 중 Mercurial을 검토하고 이걸로 갈아타려고 하고 있습니다. Mecurial로 갈아타려 공부를 해야 해서 좋은 텍스트를 찾아 번역하여 소개합니다. hginit.com에서 제공하는 Joel Spolsky의 Hg Init: Mercurial Tutorial을 6편의 글로 나누어서 연재합니다.

원문은 여기를 참조하세요. http://hginit.com/00.html