EFL은 GIT과 SVN을 모두 사용합니다. 대부분의 핵심 코드는 GIT에 있고 기타 애플리케이션, 추가 모듈, 테스트, 프로토타입 등의 코드는 SVN에 있습니다.
보통의 경우 GIT에 있는 코드만 사용해도 되지만 더 다양한 코드를 보고 싶으시면 아래와 같이 SVN 코드를 받으셔서 활용하셔도 됩니다.
만약 GIT에 있는 코드를 다운로드 받고 싶으신 경우에는 "[EFL] EFL 최신 소스코드 다운로드 받기"를 참고하시기 바랍니다.
이 글은 SVN에 있는 코드를 GIT SVN을 이용해서 다운로드 받는 방법을 설명합니다.
EFL은 GIT에도 일부 코드가 있고 SVN에도 일부 코드가 있는데 SVN에 있는 코드를 다운로드 받을 때에도 git-svn 이라는 도구를 이용하면 SVN 으로 된 저장소를 GIT 사용하듯이 사용할 수 있습니다.
$ sudo apt-get install git-svn
git-svn 도구에 대한 간단한 설명은 아래 사이트를 참고하시고, 저는 구체적으로 EFL 오픈소스와 관련된 부분만 설명하겠습니다.
http://trac.parrot.org/parrot/wiki/git-svn-tutorial
1. Repository clone 하기
$ git svn clone http://svn.enlightenment.org/svn/e/trunk
환경에 따라서 https 도 가능합니다.
$ git svn clone https://svn.enlightenment.org/svn/e/trunk
[TIP]
아래와 같이 구체적인 디렉토리를 명시하면 trunk 뿐만 아니라 그 하위 디렉토리를 바로 clone 할 수 있습니다.
$ git svn clone http://svn.enlightenment.org/svn/e/trunk/elementary
[TIP]
기본 옵션으로 git svn clone 을 하게 되면 첫번째 revision 부터 다 읽어옵니다. 이는 시간이 매우 많이 걸리므로 원하는 revision 부터 읽고 싶은 경우는 아래와 같이 특정 revision 을 지정할 수 있습니다.
$ git svn clone -r 65000:HEAD http://svn.enlightenment.org/svn/e/trunk/elementary
2. 소스 업데이트하기
trunk$ git svn rebase
그 외 git 에서 제공하는 다양한 명령어를 사용할 수 있습니다.
그런데 EFL 은 오픈소스이고 커밋 권한이 있는 사용자(커미터, committer)만 코드를 수정할 수 있기 때문에 일반 개발자 분들은 이 정도까지만 아시면 됩니다.
만약 EFL 커미터라면 아래를 참고해서 작업하시면 됩니다.
1. Repository clone 하기 (EFL 커미터)
$ git svn clone svn+ssh://{committer-id}@svn.enlightenment.org/var/svn/e/trunk
{committer-id} 부분에는 본인의 아이디를 넣으시면 됩니다.
예) $ git svn clone svn+ssh://seoz@svn.enlightenment.org/var/svn/e/trunk
2. 코드 수정
$ git add xxx.c
$ git commit
로컬 커밋을 서버에 전송하려면 일반 git 의 경우, git push 를 했었지만, git svn 의 경우에는 git svn dcommit 을 사용하시면 됩니다.
$ git svn dcommit
dcommit 을 하게 되면 로컬에 있는 커밋이 전부 서버로 전송됩니다. 그러므로 git commit 을 여러번 하신 후에 dcommit 은 한번만 하시면 됩니다.
이상으로 간단하게 git svn 을 이용하여 EFL svn 을 사용하는 방법을 알아봤습니다.





덧글
감사합니다 형님. ㅋㅋ