svn에 대해 알려주세요.
글쓴이: armyinsa / 작성시간: 목, 2010/01/14 - 11:26오전
현재 SVN를 이용하여 서버와 내컴퓨터간의 동기화를 잘되고 있는데요...
내 컴퓨터에서 소스수정을 하여 서버에 올리려고 하는데
[root@localhost /home/trunk]# svn update
무시함 '.'
무시한다고 나오는데요 모르겠습니다.
보통 내컴에서 수정하여, 저장소(레포지토리)까지는 잘 되는데요, 저장소(레포지토리)에
수정된 소스코드를 서버에 적용시키려고 하면 이런식으로 하는거 맞죠?
[root@localhost /home/trunk]# svn update
무시함 '.'
나오는데 왜 저장소에서 홈페이지에 적용이 안돼는지요?
subversion: http://www.pyrasis.com/main/Subversion-HOWTO#s-3.3 를 보면서 하고
있는데요...
Forums:
svn update는
svn update는 저장소에서 변경 사항을 받아서 로컬 작업 사본을 업데이트 하는 명령어입니다.
로컬 작업 사본의 변경 사항을 저장소에 적용하는 명령은 svn commit이에요.
---8< 서명 -----------------
애니메이션 감상 기록 http://animeta.net/
간단하게 svn co 라고 하시면 됩니다.
간단하게 svn co 라고 하시면 됩니다.
svn update : 저장소에서 업데이트 된 내용을 가져오기
svn commit : 수정한 내용을 저장소에 반영하기
svn co는 체크아웃
svn co는 체크아웃 하는 명령인데요.
커밋은 svn ci, 업데이트는 svn up입니다.
---8< 서명 -----------------
애니메이션 감상 기록 http://animeta.net/
글쓴이
서버 -----> 저장소 ------> 로컬
예를들어)
서버 : Hyo 폴더
저장소 : http://192.168.101.211/svn/Hyo/trunk/Hyo
로컬 : Hyo 폴더
즉
1.서버에 있는 Hyo폴더의 데이터를 저장소(레포지토리)로 동기화를 시켜습니다.
2.저장소를 이용하여 로컬로 저장소의 데이터를 전부 가져왔습니다.
3. 로컬에서 소스코드를 수정하여 저장소로 업데이트 및 commit까지 완료 되었습니다.
문제는 여기 입니다.
저장소에 있는 최신으로 데이터가 업데이트되어 있습니다.
저장소에 있는 데이터들을 서버에 업데이트 하고 싶은데요. 이게 잘 안되네요...
[centos@localhost /home/trunk]$ svn commit Hyo/app/views
<--이렇게 하면 저장소에 있는 Hyo/app/views를 코밋트 하지 않는가요?
자꾸.. 아래같이 작업사본이 아닙니다. 라고 나오는데요...
svn: '/home/trunk/Hyo.com/app/views' 은 작업 사본이 아닙니다
해결방법은요....
결론 : 저장소에 있는 HYO폴더의 데이터를 서버의HYO폴더에 적용하고 싶습니다.
kldp에는 말귀를 못알아 듣는 사람이 많군요
누가봐도 뻔한 답이 있는데
댓글보면 참 답답합니다.
다들 똑똑한건 잘알겠는데 꼭 그렇게 해야하나요?
시나리오.
1. 서버(leo)에는 누군가가 수정을 하였다.
2. 서버(leo)에서 수정사항을 저장소(SVN)에 반영하였다.
3. 나(nardo)는 프로그램을 수정하고 저장소(SVN)에 반영하였다.
Q. 서버(leo)에서는 내가 수정한 것을 받고 싶다?
질문에서 root@localhost 가 로컬인지 서버인지를 알 수 없네요.
이상한 상상을 하시는 것은 아니겠지요
이상한 상상으로......
로컬(nardo)에서 수정하고 난뒤 서버(leo)에게 commit할 수 있다라고.
svn update, commit 은 모두 저장소 기준입니다.
leo는 davi(저장소)에게 수정된 내역을 받고, ( update )
leo에서 수정한 내역을 davi(저장소)에게 보냅니다. ( commit )
nardo도 역시 davi(저장소)에게서 최신 수정본을 받고, ( update )
nardo에서 수정한 내역을 davi(저장소)에게 보냅니다. ( commit )
nardo가 leo에게 바로 보내는 것은 없습니다. ( SVN을 통해서는 )
nardo가 leo에게 저장소를 거치지 않고 보내려면, sftp나 rsync로 보내는 것이지요.
----
추가로, SVN 저장소는 항상 돌아가는 소스를 가지고 있어야 합니다.
로컬에서 수정한 내역을 테스트하고자 서버로 보낸다면, 위 설명의 sftp나 rsync로 작업을 해서 테스트를 한 후,
nardo나 leo 둘 중 한군데서 commit 하고, 반대편(nardo나 leo)에서는 revert 후 update 받으면 됩니다.
답을 달고 보니
답을 달고 보니 2010년에 질문한 것이었다.
내가 왜 답을 했는데, 수고를 들여서
댓글 달기