2007년 5월 25일 금요일

FUSE의 arm 보드 테스트

FUSE를 arm target에서 테스트해봤다.

결과적으로 너무 느려서 쓸수가 없다. 약 60배 이상 느린데, 2 ~ 3배 정도 느리면 사용하려고 했으나 너무 느린 관계로 사용할 수 없을 것 같다.

고민이다.

2007년 5월 21일 월요일

Emacs의 Copy & Paste 문제 수정

emacs에서 블럭 복사한 것이 mozilla나 다른 응용 프로그램에 paste가 안되는 경우가 있다. 주로 C-space와 M-w 로 복사한 경우 그러한데, 이 경우 .emacs에 다음 코드를 추가하면 문제를 해결 할 수 있다.
(setq x-select-enable-clipboard t)

또, paste시 한글이 깨지는 문제가 발생하면 .emacs 파일에서 다음과 같은 구문을 찾아 주석처리한다.
;; (set-selection-coding-system 'utf-8)


단, 이 설정을 적용하는 경우 terminal과의 copy & paste가 이전보다 자유롭지 않다. gnome-terminal의 경우 ctrl+shift+c 를 통한 복사만이 emacs에서 사용이 가능하다.

2007년 5월 8일 화요일

git

리누스 토발즈에 의해 만들어진 새로운 version 관련 시스템이다.

기존의 cvs와 subversion 등에 비해 새로운 개념으로 동작하는데, 그 기능은 다음과 같다.
  • 기존 버전관리 시스템과는 달리 통일된 하나의 repository를 운영하지 않는다. 각각의 복사본이 온전한repository 기능을 제공한다.
  • 그러나, 기존의 버전관리 시스템 처럼 하나의 repository를 이용하도록 할 수도 있다.
  • 매우 빠르게 동작한다.
  • 최소한의 저장공간을 요구한다.
  • branch 관리가 편리하다.
  • cvs emulation 기능을 제공한다. 즉, 외부에서 cvs 프로토콜을 이용하여 git에 접근할 수 있다.
하지만, 제공되는 기능이 많고, 새로운 개념을 도입하고 있어, 기존 버전관리 시스템에 익숙한 사용자에게 조금 낮설게 느껴질 수도 있다.

사용상의 차이점은 다음과 같다.
  • 일반적인 add, remove, update, commit 등의 명령어는 local에서 모두 동작한다. local이 하나의 독립적인 repository이기 때문이다.
  • 외부의 다른 개발자가 소유하고 있는 repository와의 merge 하려면 push, pull 등의 별도의 명령어를 사용해야 한다.
이러한 git를 살펴본 이유는 직업의 특성상 여러 embedded 단말을 사용하는데, 각 단말마다 특성이 달라 그 특성을 매번 단일 repository에 merge하는 것이 큰 부담으로 다가왔기 때문이다.

때문에, main branch를 하나 유지하고, 각 단말별로 별도의 branch로 분기하여 사용하는 방법이 효과적일 것으로 판단된다.

git의 cvsserver

git repository를 cvs를 통해 접근하는 방법을 설명한다.

$ export CVSROOT=:ext:user@server:/var/git/project.git
$ export CVS_SERVER=git-cvsserver
$ cvs -d project-master master

project-master에는 적절한 이름을 지정하면 이름에 해당하는 디렉토리가 자동으로 생성되고 그 디렉토리로 checkout 한다.