http://semver.org/


독립적인 응용 프로그램 보다는 라이브러리를 위한 것인데요. 간단히 요약하면

* 버전 번호는 기본적으로 x.y.z.r 형식이고 x, y, z, r 은 숫자.

* x는 주(major) 번호로, 라이브러리가 노출하는 공개 API에 '하위 호환성 없는 변화'가 생겼을 때 증가

* y는 부(minor) 번호로, 공개 API에 '하위 호환성 있는 변화'가 생겼을 때 증가

* z는 브랜치 구분

* r은 공개 API의 변화가 없는 버그 교정이나 내부 개선 시 증가.


이 제안의 요지는, 버전 번호 변경 방식(또는 버전 번호의 '의미론')에 대한 합의가 있으면 외부 라이브러리를 사용하는 프로그램의 갱신이나 유지 보수가 쉬워진다는 것입니다. 

예를 들어 Bar라는 라이브러리의 1.2.0.3 버전을 사용해서 Foo라는 프로그램을 만들었다고 할 때, 나중에 Bar가 1.2.0.4(버그 교정)나 1.3.0.0(하위 호환성 보장)으로 갱신된 경우 Foo의 개발자는 Foo를 변경할 필요가 없음을 바로 알 수 있습니다. 소프트웨어 설치/의존성 관리 프로그램들도 이를 기계적으로 알 수 있겠고요.


https://indidev.net/forum/viewtopic.php?f=2&t=115 류광님 답글에 의견을 덧붙임

'tool > VersionControl' 카테고리의 다른 글

분산 버전 관리 시스템  (0) 2015.05.28
이름을 변경하고 뭔가 내용을 수정후 커밋할 경우 오류  (0) 2015.03.10
Ankh SVN  (1) 2012.08.21
블로그 이미지

란마12

,