Embedded linux

Embedded linux관련 글을 올리려고 합니다. S3C2800보드와 AU1500보드에 리눅스 드라이버 및 어플리케이션을 작성하면서 얻게된 잡다한 지식을 올려볼까 합니다.

2006-02-15

subversion으로 소스 관리하기

프로젝트 생성하기
$ svnadmin create <프로젝트명>
$cd <프로젝트명>
$cd conf
#vi svnserver.conf
[general]
anon-access = read
auth-access = write
password-db = passwd
realm = <프로젝트명>


anonymous는 read 접근만 가능하고 인증받은 사용자를 write까지 가능하도록 설정.
패스워드는 passwd라는 파일에서 읽어옴.

$vi passwd
[users]
{ID} = {password}


아이디와 패스워드를 입력하면 된다.
사용자를 더 추가할 경우는 같은 방법으로 계속 추가하면 된다.

프로젝트를 처음으로 업로드 하기
trunk, branches, tags폴더를 만든다.
$svn mkdir svn://{서버 IP}/trunk
$svn mkdir svn://{서버 IP}/branches
$svn mkdir svn://{서버 IP}/tags


$svn import svn://<서버의 ip>/
예) $svn import lg_hdtv svn://192.168.10.6/lg/heron/trunk
Adding lg_hdtv/iic2800.h
Adding lg_hdtv/lg_hdtv.c
Adding lg_hdtv/lg_hdtv.h
Adding lg_hdtv/Makefile

위 예는 subversion 루트디렉토리 밑에 lg라는 폴더를 만들고 그 아래에 heron이라는 프로젝트를 만든경우이다. LG에 관련된 프로젝트는 모두 lg라는 폴더 아래에 두기 위해서 이렇게 만들었다.
lg_hdtv폴더 밑의 모든 파일/폴더는 heron프로젝트에 업로드 된다.
프로젝트가 서브버전 서버에 올라갔으므로 이제부터는 서브버전에 올라간 소스로 작업해야한다.

소스 내려받기(checkout)
#svn checkout svn://<서버의 ip>/
예) $svn co svn://192.168.10.6/lg/heron
A heron/trunk/iic2800.h
A heron/trunk/lg_hdtv.c
A heron/trunk/Makefile
A heron/trunk/lg_hdtv.h
Checked out revision 1.


소스 수정하기
$cd heron
$vi lg_hdtv.c
<<소스 수정>>

수정된 소스를 서버에 올리기(Commit)
예)
$svn ci
Sending lg_hdtv.c
Transmitting file data .
Committed revision 2.


commit을 ci로 줄여 사용했다.

[주의] 소스를 수정하거나 commit하기 전에 다른 개발자가 소스를 수정했는지 확인하기 위해 update를 수행해야한다.
update를 하면 서버 저장소의 최신 내용으로 업데이트 된다.
$svn update


만약 윈도 클라이언트에서 작업을 한다면 콘솔 모드보다는 TortoiseSVN 프로그램을 사용하는것이 편하다.

라벨: , ,

2006-01-05

embedded linux에 관한 글을 올리려고 합니다.

프로젝트를 하다가 얻은 저의 허접한 지식을 이곳에 올리려고 합니다.
기존에 작업을 진행했던 s3c2800보드와 au1500보드에 관한 내용이 주가 되겠군요.