출처 : 회사 동료분의 강의 text
계정은 ###으로 수정하였고, svn의 server address는 svn://address로 수정 표기하였다.
1. 디렉토리 확인하기
1.1
###@ubuntu:~ $ svn list svn://address/test
branches/
tags/
trunk/
3개의 디렉토리가 있는것을 확인 할 수 있다.
1.2
###@ubuntu:~ $ svn list svn://address/juliet
###@ubuntu:~ $
아직 juliet용으로는 디렉토리를 만든것이 없다는 것을 확인할 수 있다.
2. 디렉토리 만들기
2.1
###@ubuntu:~ $ svn mkdir svn://address/test/Documents
--This line, and those below, will be ignored--
A svn://address/test/Documents
이런 화면을 보게된다.
새로 만든 디렉토리에 대한 설명을 적은후에 저장하고 나가면
"svn-commit.tmp" 4L, 123C written
Committed revision 16.
이렇게 나온다. 성공적으로 만들었다는 의미다.
2.2
확인해 보자 만들어졌다.
###@ubuntu:~ $ svn list svn://address/test/
Documents/
branches/
tags/
trunk/
3. 프로젝트 시작(만들어진 소스 리스트 올리기)
3.1
###@ubuntu:~ $ mkdir sampleprj
3.2
###@ubuntu:~ $ cd sampleprj/
3.3
###@ubuntu:~/sampleprj $ vi test.c
#include <stdio.h>
int main()
{
printf("Hello SVN\n");
return 0;
}
3.4
###@ubuntu:~/sampleprj $ vi Makefile
TARGET=test
all: $(TARGET)
$(TARGET): test.o
gcc -o $(TARGET) test.o
test.o:
gcc -c test.c
3.5
###@ubuntu:~/sampleprj $ make
gcc -c test.c
gcc -o test test.o
3.6
이제 프로젝트를 올려본다.
###@ubuntu:~/sampleprj $ cd ..
###@ubuntu:~ $ svn import sampleprj svn://address/test/trunk
테스트용으로 Sample Project를 만들어 올렸음
--This line, and those below, will be ignored--
A sampleprj
Adding (bin) sampleprj/test
Adding sampleprj/test.c
Adding sampleprj/Makefile
Committed revision 17.
3.7
확인해본다
###@ubuntu:~ $ svn list svn://address/test
Documents/
branches/
tags/
trunk/
###@ubuntu:~ $ svn list svn://address/test/trunk
Makefile
test
test.c
3.8
다 올렸으니 지운다
###@ubuntu:~ $ rm -rf sampleprj/
4
sample이라는 디렉토리에 test/trunk의 프로젝트를 받아온다
###@ubuntu:~ $ svn co svn://address/test/trunk sample
A sample/test
A sample/test.c
A sample/Makefile
Checked out revision 17.
5
###@ubuntu:~ $ cd sample/
###@ubuntu:~/sample $ ls
Makefile test test.c
###@ubuntu:~/sample $ svn update
At revision 17.
update가 있으면 받아온다. 없으니까 그냥 아직 revision 17이라고 적혀있다.
6
test.c를 수정한다.
#include <stdio.h>
int main()
{
printf("Hello SVN\n");
printf("Merong!!\n");
return 0;
}
7.
고친내용과 서버의 내용을 비교해본다.
###@ubuntu:~/sample $ svn diff
Index: test.c
===================================================================
--- test.c (revision 17)
+++ test.c (working copy)
@@ -3,5 +3,6 @@
int main()
{
printf("Hello SVN\n");
+ printf("Merong!!\n");
return 0;
}
8.
고친내용을 서버에 올린다
###@ubuntu:~/sample $ svn commit
test.c 파일에 printf 문장을 한줄 추가했음
--This line, and those below, will be ignored--
M test.c
test.c라는 파일 하나 바꿨다고 아랫쪽에 적혀있다..
8.1
저장하고 나오면
"svn-commit.tmp" 4L, 103C written
Sending test.c
Transmitting file data .
Committed revision 18.
이렇게 나온다. test.c 수정된 내용을 서버로 올렸다. 이제 revision은 18이다.
9
test.c 파일의 히스토리를 살펴본다
###@ubuntu:~/sample $ svn log test.c
------------------------------------------------------------------------
r18 | ### | 2005-03-24 12:10:19 +0900 (Thu, 24 Mar 2005) | 2 lines
test.c 파일에 printf 문장을 한줄 추가했음
------------------------------------------------------------------------
r17 | ### | 2005-03-24 12:02:25 +0900 (Thu, 24 Mar 2005) | 2 lines
테스트용으로 Sample Project를 만들어 올렸음
------------------------------------------------------------------------
10.
test2.c를 추가해본다
###@ubuntu:~/sample $ vi test2.c
int test()
{
printf("test ftn\n");
}
###@ubuntu:~/sample $ svn add test2.c
A test2.c
###@ubuntu:~/sample $ svn list
Makefile
test
test.c
아직 test2.c는 안올라갔다. (commit을 해야 올라간다)
###@ubuntu:~/sample $ svn commit
test2.c라는 파일 추가
--This line, and those below, will be ignored--
A test2.c
"svn-commit.tmp" 4L, 84C written
Adding test2.c
Transmitting file data .
Committed revision 19.
###@ubuntu:~/sample $ svn list
Makefile
test
test.c
test2.c
이제 추가되었다.
11
test라는 바이너리가 올라가있는게 맘에 안든다. 지워야겠다.
###@ubuntu:~/sample $ svn del test
D test
###@ubuntu:~/sample $ svn list
Makefile
test
test.c
test2.c
아직 남아있다 commit한다.
###@ubuntu:~/sample $ svn commit
실행바이너리라 지움
--This line, and those below, will be ignored--
D test
"svn-commit.tmp" 4L, 79C written
Deleting test
Committed revision 20.
###@ubuntu:~/sample $ svn list
Makefile
test.c
test2.c
지워졌다.
'svn' 카테고리의 다른 글
php 로깅 관련 (0) | 2008.01.18 |
---|---|
cvs에서 cvs checkout: failed to create lock directory 에러 문제 (0) | 2007.12.06 |
svn 명령시 깨지는 글자나 나타날 때. (0) | 2005.11.01 |
http://www.abbeyworkshop.com/howto/misc/svn01/ (0) | 2005.06.10 |
svn freebook (0) | 2005.05.30 |