본문 바로가기

어떻게 할까/소프트웨어

Mercurial HG 사용자 (username) 지정 하기. + lightpackkr ...

Mercurial HG 를 처음 접하다 보니, 다음과 같이 소스를 수정 한 다음 commit 을 할떄 오류가 나더군요.

username 을 지정하라 ?

보통 CVS 나 SVN 에서는 내부에 숨김 디렉토리가 생기고, 이 안에 정보가 포함 되던데, HG는 이런 부분이 다른가 봅니다.

일단 하라니 해야겠으니, hg help config 에서 설명 하는데로, 먼저 Mercurial 이 설치된 곳으로 이동 합니다.


저의 경우는 Windows7 64ibit 이므로 다음과 같이 이동 했습니다.

(C:\Program Files\Mercurial)

여기서 Mercurial.ini 파일을 열고 다음과 같이 항목을 추가 합니다.

이중, ui session 이 이미 있으신 분은 추가 되거나 수정 되는 정도 이겠습니다.

이제 commit 이나 push 가 정상으로 되는 것을 확인 하시면 됩니다.


그리고 Lightpackkr - 

기본으로 만들어진 lightpack 이 QT 를 이용한 다양한 platform 지원이다 보니, 일부 시스템이나 환경에서 늦어 지는 경우가 발생 하는 문제점이 있으며, QT 라이브러리를 먼저 설치 해야 하거나, 참조되는 dll 을 모두 시스템에서 가지고 있어야 하는 문제가 많이 보이더군요.

개발자가 편하면 항상 사용자가 손해를 보는 것이 이 세계의 진리 입니다.

빌어먹을 마소의 .NET framework 를 생각 해 보시면 QT 나 MS .NET framework 나 무시무시한 시스템 자원을 쳐묵쳐묵 하시는 존재 들이라는 것을 아시는 분 은 아시겠지요.

개발에 필요한 QT4 라이브러리를 설치 하는데만 해도 엄청난 시간과 자원의 소비가 있었습니다.

개발에 있어서는 참으로 편한 구조 이나, 원천적으로 개발이 편해지는 만큼 소비되는 시스템 자원은 많아지기 마련 입니다.

Lightpack 을 만약 win API 로만 만들었다면, 현재 QT4 라이브러리가 빠지고, 기능에 비해 큰 덩치를 가지는 설치본이 만들어 지지는 않겠지요.

아마 그래서 제가 java 와 같은 언어를 그리 즐기지 못하고, C# 과 같은 언어를 매우 싫어하는 이유가 단지 제 성격 때문 이기도 합니다만, QT 말고도 가벼운 cross platform UI 들이 많다는 것을 염두 해 두어야 합니다.

사실 QT 같은 경우도 빌드 되는 시스템과 컴파일 언어에 따라 그 특성이 달라 진다는 것은 어느정도 감안 해야 하기도 하구요.

이런 저런 이유로 다 집어 치우고 그냥 windows API 로만 만들고 있습니다.

QT 는 간단히 우리말로 바꾸어 보았는데, 일부 라이브러리가 UTF-8 을 제대로 지원을 못 하는지 글자가 다 깨져 나옵니다.

Language ID 설정이나, 폰트를 우리말로 쓰는 것으로 지정해도 깨지는 것을 보면, 모든 것이 UTF-8 로 처리가 안되는 부분 ( 시스템 트레이에 팝업으로 나오는 부분 ) 이 있어 보입니다.


이뻐 보이는 UI 를 손쉽게 만들고, 여러 platform 에서 최대한 비슷하거나 같게 보이는 GUI application 을 만들기엔 QT4 가 매우 좋긴 합니다만, 시스템 퍼퍼먼스를 고려 하고, 특정 플랫폼 (예를 들면 Windows 같은) 에서 고성능 게이밍시 버벅임 등을 줄이기 위해서는 QT 보다는 native API 를 통해 개발 되는 것이 필요악이 아닌가 하는 생각이 드는군요.


변경 중인 사항은 모두 http://code.google.com/r/rageworx-lightpackkr/ 에서 누구나 내려 받고 참여하여 수정하실 수 있습니다.