아파치 서브버전

버전 관리 시스템
(서브버전에서 넘어옴)

서브버전(Subversion)은 자유 소프트웨어 버전 관리 시스템이다. 명령 줄 인터페이스에서 사용하는 명령어를 따서 SVN이라고 줄여서 부른다. 제한이 있던 CVS를 대체하기 위해 2000년부터 콜랩넷에서 개발되었다.[2] 현재는 아파치 최상위 프로젝트로서 전 세계 개발자 커뮤니티와 함께 개발되고 있다.

서브버전
원저자콜랩넷
개발자아파치 소프트웨어 재단
발표일2000년 10월 20일(23년 전)(2000-10-20)
안정화 버전
1.14.2 / 2022년 4월 12일(22개월 전)(2022-04-12)[1]
저장소
프로그래밍 언어C
운영 체제크로스 플랫폼
종류버전 관리
라이선스아파치 라이선스
상태개발 중
웹사이트subversion.apache.org/ 위키데이터에서 편집하기

서브 버전은 클라이언트 서버 모델을 따른다. 서버는 작업하는 컴퓨터내에 둘 수도 있고, 전산망에 연결된 별도의 컴퓨터에 두고 사용할 수도 있다. 서브버전 서버와 클라이언트는 http, https, svn, svn+ssh의 규약으로 통신한다.

역사 편집

콜랩넷CVS와 매우 비슷하면서도 CVS에 존재하지 않는 기능을 제공하고 버그를 수정한 오픈 소스 버전 관리 시스템을 작성하다가 2000년에 서브버전 프로젝트를 개설하였다.[3]

버전 원래 출시일 최신판 출시일 상태
오래된 버전, 지원 중단: 1.0 2004-02-23 1.0.9 2004-10-13 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.1 2004-09-29[4] 1.1.4 2005-04-01 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.2 2005-05-21[5] 1.2.3 2005-08-19 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.3 2005-12-30[6] 1.3.2 2006-05-23 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.4 2006-09-10[7] 1.4.6 2007-12-21 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.5 2008-06-19[8] 1.5.9 2010-12-06 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.6 2009-03-20[9] 1.6.23 2013-05-30 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.7 2011-10-11[10] 1.7.22 2015-08-12 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.8 2013-06-18[11] 1.8.19 2017-08-10 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.9 2015-08-05[12] 1.9.12 2019-07-24 더 이상 지원하지 않음
오래된 버전, 지원 중: 1.10 2018-04-13 1.10.6 2019-07-24 부분 지원
오래된 버전, 지원 중단: 1.11 2018-10-30[13] 1.11.1 2019-01-11 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.12 2019-04-24[14] 1.12.2 2019-07-24 더 이상 지원하지 않음
오래된 버전, 지원 중단: 1.13 2019-10-30[15] 1.13.0 2019-10-30 더 이상 지원하지 않음
현재 안정화 버전: 1.14 2020-05-27[16] 1.14.0 2020-05-27 완전 지원, LTS
범례:
오래된 버전
오래된 버전, 지원 중
최신 버전
최신 미리보기 버전
배포 예정

서브버전의 보급 현황 편집

서브버전은 오픈소스 커뮤니티에 잘 알려져 있고 아파치 소프트웨어 재단, KDE, 그놈, 프리 파스칼, GCC, 파이썬, 루비, 삼바, 모노와 같은 많은 오픈 소스 프로젝트에 사용되고 있다. 또한 네이버 개발자 센터, SourceForge.net, Tigris.org, Google code에서는 오픈소스 프로젝트를 위해 서브버전 호스팅을 하고 있다. 바운티소스은 오로지 이것만 사용한다.

기업 세계에서도 서브버전이 더 많이 채용되어 가고 있다. 2007년 Forrester Research 보고서에 따르면 서브버전은 Standalone 형상 관리(SCM) 부류에서 독보적인 선두주자로, 형상 및 변경 관리(SCCM)부류에서는 강력한 실행기이다.

기능 편집

  • automatical writing 을 지원하므로, 쓰기 도중 중단으로 인한 저장소 내의 불일치나 손상을 피할 수 있다.
  • 이름을 바꾸거나, 복사하거나, 파일을 지워도 계정 기록을 유지한다.
  • 시스템이 등록부, 개명, 파일 메타데이터에 대해서도 판본 호수를 지정 관리한다. 사용자는 디렉터리 전체를 빠르게 옮기거나 복사하면서도 전체의 개정 이력을 보유할 수 있다.
  • 심볼릭 링크도 판본 호수를 지정.
  • 이진 파일의 경우 한번 저장한 후 변경될 경우 차이점만 저장하기 때문에 저장소를 효율적으로 사용할 수 있다.
  • 아파치 HTTP 서버를 네트워크 서버로, 웹대브/델타-V를 통신규약으로 사용한다. svnserve라는 독립된 서버 프로세스도 있어서 TCP/IP를 통해 전용 통신규약을 사용한다.
  • 소스 저장소의 크기에 관계 없이 일정한 시간 안에 가지 치기(branching)나 태그 넣기(tagging)를 할 수 있다.
  • 태생적으로 클라이언트-서버, 계층 라이브러리 설계를 채택.
  • 클라이언트/서버 통신규약이 버전간 차이를 양뱡향으로 보냄.
  • 소스 저장소로의 접근이 최적화되어 있으므로, 소스 저장고에서 필요 없는 네트워크 트래픽을 줄일 수 있다.

브랜치와 태그 편집

 
단순한 서브버전 프로젝트의 시각화

관련 소프트웨어 편집

  • TortoiseSVN
    서브버전을 마이크로소프트 윈도우에서 쉽게 쓸 수 있게 해주는 도구이다.[17][18]
    이 프로그램은 탐색기에 통합된 프론트 엔드의 성격을 지니고 있어 팝업 메뉴/쉬운 명령법 등의 장점을 가지고 있다.
    WinCvs 보다 사용법도 편하며 diff 툴이 같이 제공되기 때문에 사용하기 쉽다.
  • RapidSVN[19]
    WinCvs와 유사한 멀티 플랫폼 GUI 클라이언트
  • Subclipse[21]
    이클립스에서 서브버전을 사용할 수 있도록 지원하는 플러그 인.[18]
  • Trac
    버그 / 이슈 추적 소프트웨어.[18]

참고 문헌 편집

  1. “Apache Subversion”. 2021년 2월 12일에 확인함. 
  2. “Version Control with Subversion”. O'Reilly Media. 2009년 6월 14일에 확인함. 
  3. Collins-Sussman, Ben; Brian W. Fitzpatrick; C. Michael Pilato (2011). “What is Subversion? > Subversion's History”. 《Version Control with Subversion (for Subversion 1.7)》. 2012년 3월 15일에 확인함. 
  4. “Subversion 1.1 Release Notes”. 2015년 9월 21일에 확인함. 
  5. “Subversion 1.2 Release Notes”. 2015년 9월 21일에 확인함. 
  6. “Subversion 1.3 Release Notes”. 2015년 9월 21일에 확인함. 
  7. “Subversion 1.4 Release Notes”. 2015년 9월 21일에 확인함. 
  8. “Subversion 1.5 Release Notes”. 2015년 9월 21일에 확인함. 
  9. “Apache Subversion 1.6 Release Notes”. 2015년 9월 21일에 확인함. 
  10. “Apache Subversion 1.7 Release Notes”. 2015년 9월 21일에 확인함. 
  11. “Apache Subversion 1.8 Release Notes”. 2015년 9월 21일에 확인함. 
  12. “Apache Subversion 1.9 Release Notes”. 2015년 9월 21일에 확인함. 
  13. “Apache Subversion 1.11 Release Notes”. 2018년 10월 31일에 확인함. 
  14. “Apache Subversion 1.12 Release Notes”. 2019년 5월 1일에 확인함. 
  15. “Apache Subversion 1.14 Release Notes”. 
  16. “Apache Subversion 1.14 LTS Release Notes”. 《subversion.apache.org》. 2020년 6월 2일에 확인함. 
  17. “TortoiseSVN - A Subversion client for Windows”. 2009년 6월 21일에 원본 문서에서 보존된 문서. 2009년 6월 14일에 확인함. 
  18. 민진우, 이인선, 2009, 이클립스 프로젝트 필수 유틸리티, ISBN 978-89-7914-623-3, 한빛 미디어.
  19. “RapidSVN”. 2010년 2월 9일에 원본 문서에서 보존된 문서. 2006년 1월 30일에 확인함. 
  20. “AnkhSVN”. 2011년 2월 10일에 원본 문서에서 보존된 문서. 2009년 1월 23일에 확인함. 
  21. “Subclipse”. 2011년 8월 25일에 원본 문서에서 보존된 문서. 2009년 6월 3일에 확인함. 

외부 링크 편집