maven 으로 프로젝트를 버젼 관리할 경우, 소스를 branche 를 딴 경우 주의가 필요하다.
branches 를 따서 별도의 소스로 관리한다고 했으니 안심할 수는 없다.
maven 을 사용하고 있다면 trunk 버젼과 branche 버젼이 공통으로 사용되고 있는 부분이 존재하는데 바로 메이븐 로컬 저장소다.

다음의 예를 들어보자


여기서는 app-1.0 모듈이 core-1.0 에 의존하고 잇다.
만일 core-1.0 에 대해서 branche 를 생성했다면, 각각의 작업시에 install 을 하게 될 경우엔 로컬 저장소에 라이브러리가 적재될 것이다. 그러하다면 app-1.0 은 상황에 따라 trunk 버젼을 사용할 수도 있고, branche 버젼을 사용할 수 있을 것이다.

만약 deploy를 한다면 다른 팀원들에게까지 영향을 미쳐버리는 상황이 발생할 것이다. 따라서 branche 를 한경우 별도의 버젼으로 재정의하는 것은 필수다.

+ Recent posts