반응형

http://cafe.naver.com/ydg10/28

Subversion (SVN) 설명,사용 이유 |

안녕하세요 2조 10 플밍 오재윤 이라고 합니다.

이 글을 쓰는건 다름이 아니라 프로젝트를 진행하실때 괜찮은 툴이 있어 소개시켜드리려고 합니다

들어보신분도 계시고 써보신분도 계시고 저보다 더 잘 아시는 분도 계시겠지만 염치 불구하고 몇자 적어봅니다.

제가 소개해드릴것은 Subversion 흔히 SVN 또는 거북이 라고 불리우는 소프트웨어 버전 관리 시스템입니다.

오픈소스이다보니 무료로 다운받으셔서 사용하실수 있습니다

그리고 SVN 말고도 CVS , Visual SourceSafe 등 많은 관리 시스템들이 있지만..

SVN 과 CVS 와의 차이점을 설명드리겠습니다.

이 2가지 차이를 설명드리는것은 가장 많이 쓰이는 툴이기 때문입니다.

SVN 은 CVS 의 업데이트 판이라고 생각하시면 쉽습니다.

SVN 이 CVS 와 비교했을때의 장점은

  • 원자적으로 쓰기를 지원하므로, 다른 사용자의 쓰기와 엉키지 않는다.
  • 이름을 바꾸거나, 복사하거나, 파일을 지워도 리비전 기록을 유지한다.
  • 이진 파일의 경우 한번 저장한 후 변경될 경우 차이점만 저장하기 때문에 저장소를 효율적으로 사용할 수 있다.
  • 디렉터리도 버전 관리를 할 수 있다. 디렉터리 전체를 빠르게 옮기거나 복사할 수 있으며, 리비전 기록도 그대로 유지한다.
  • 소스 저장고의 크기에 상관 없이 일정한 시간 안에 가지 치기(branching)나 테그 넣기(tagging)를 할 수 있다.
  • 소스 저장고로의 접근이 최적화되어 있으므로, 소스 저장고에서 필요 없는 네트워크 트래픽을 줄일 수 있다.

    (출처 : Wiki)

    등이 있습니다

    그럼 왜 이 SVN 이나 CVS 같은 버전 관리 시스템을 사용하느냐.. 하실수도 있습니다

    그 이유는

  • 무언가 잘못되었을 때 복구를 돕기 위하여
  • 프로젝트 진행 중 과거의 어떤 시점으로 돌아갈 수 있게 하기 위하여
  • 여러사람이 같은 프로젝트에 참여할 경우, 각자가 수정한 부분을 팀원 전체가 동기화하는 과정을 자동화하기 위하여
  • 소스 코드의 변경 사항을 추적하기 위하여
  • 소스 코드에서 누가 수정했는지 추적하기 위하여
  • 대규모 수정 작업을 더욱 안전하게 진행하기 위하여
  • 가지내기(Branch)로 프로젝트에 영향을 최소화 하면서 새로운 부분을 개발하기 위하여
  • 접붙이기(Merge)로 검증이 끝난 후 새로이 개발된 부분을 본류(trunk)에 합치기 위하여
  • 많은 오픈 소스 프로젝트에서 어떠한 형태로든 버전 관리를 사용하고 있으므로
  • 코드의 특정 부분이 왜 그렇게 쓰여 졌는지 의미를 추적하기 위하여

    (출처 : Wiki .. 제가 적을수도 있지만 그것보다는 Wiki 가 다양하게 설명해주어서 적어봅니다.)

    등이 있습니다

    일반적인 사용방식 개념은

  • 갑돌이가 어떤 File을 저장소(repository)에 추가(add) 한다.
  • 추가되었던 File을 갑돌이가 인출(Check out) 한다.
  • 갑돌이가 인출된 file을 수정한 다음, 저장소에 예치(Commit) 하면서 설명을 붙인다.
  • 다음날 을순이가 자신의 작업 공간을 동기화(Update) 한다. 이 때 갑돌이가 추가했던 file이 전달된다.
  • 을순이가 추가된 file의 수정 기록(Change log)을 보면서 갑돌이가 처음 추가한 file과 이후 변경된 file의 차이를 본다(Diff).

    (출처 : Wiki)

    입니다

    아마 빨간색으로 표현한 부분이 가장 중요하고 가장 자주 쓰일것입니다.

    그럼 다음 글에서 설치법,사용법을 안내해 드리도록 하겠습니다.


  • http://a.tk.co.kr/456


    소스세이프(Source Safe)보다 좋은 버전관리 프로그램 Tortoise SVN 을 소개해드립니다.

    홈페이지 : http://tortoisesvn.net/

    버전관리를 통한 소스 관리의 중요성

    프로그래머, 개발자라면 반드시 소스의 버전관리를 해야 합니다. (선택이 아니라 필수입니다.)

    소스관리 소프트웨어를 사용하는 대표적인 이유는 다음과 같습니다.

    - 백업

    - 팀 프로젝트 (팀원과 공통 소스 개발)

    - 잘못 만들어진 소스 복구

    저(Kyuseo) 역시 예전에는 MS 사의 소스세이프(Source Safe)를 10년 가까이 사용하였으나 최근 3년간 Tortoise SVN을 사용해본 결과 이제는 소스세이프를 사용하는 프로젝트는 손까락도 대기 싫습니다. 업무 효율상 20%~30% 이상 이득을 보았다고 생각합니다.

    특히 프로그래머, 팀장님들은 꼭!!! SVN 을 적극 활용하시기를 권해드립니다.

    tortoise( 터틀스, 거북이) SVN 을 사용해야하는 이유

    - 2명 이상의 작업자가 코드 수정이 가능

    - 지능적인 자동 Marge

    - 무료 공개 소스 프로그램

    - 지속적인 업데이트

    - 한글 지원

    - 탐색기 기반

    - 모든 프로그램 호환 (소스코드 뿐만이 아니라 그래픽, 기획자도 사용하기 편리함)

    - 프로그램의 안정성

    - 세세한 옵션 조정 가능

    - 전폭적인 업데이트 로그 관리

    스크린샷


    http://a.tk.co.kr/529

    개요..

    터틀스 SVN 을 약 3년간 사용하면서 소스세이프보다 매우 만족하면서 사용을 하였습니다.

    하지만 최대의 문제점은 잦은 하드 디스크 엑세스로 인한 전체적인 컴퓨터 성능의 저하로 불편함을 느꼈는데 이것을 조금이나마 해소할 수 있는 터틀스 SVN(TortoiseSVN) 속도 향상 방법에 대하여 소개해드립니다.

    로그캐싱을 중단한다 .

    설정 -> 로그캐싱 ->로그캐싱사용 불가로 설정

    로그 보기의 속도가 느려지기는 하지만 하드 엑세스를 하지 않아 전반적인 성능이 올라갑니다.

    (Kyuseo 가 추천합니다.)

    아이콘 상태 캐시를 중단한다 .

    설정 -> 아이콘 오버레이 -> 상태캐시 없음으로 설정

    아이콘 자동 갱신을 사용하지 않아 상태 표시가 어렵기는 하지만 하지만 하드 엑세스를 하지 않아 전반적인 성능이 올라갑니다.

    (개인적으로는 추천하지 않습니다.)


    SVN 병합기능 : http://cafe.naver.com/jquerymytour.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=328&

    반응형

    + Recent posts