2009-11-04 5 views
2

저는 AndroMDA가 MagicDraw 모델에서 Java 코드를 생성하는 모델 중심 환경에서 작업하고 있습니다. 모델은 반복적으로 개발되므로 분기를 만들면 모델을 병합해야합니다. 그러나 모델을 병합 할 수 없다는 말을들을 때마다, 모든 요소가 저장 될 때마다 모든 요소의 ID가 대체되기 때문에 합쳐질 수 없습니다.버전 관리 시스템에서 병합 불가 파일을 처리하는 방법은 무엇입니까?

하지만 지점을 사용하여 모든 작업을 자체 포함하고 명시적인 시작점과 끝점을 갖도록하고 싶습니다.

어떻게 처리할까요? 이것은 기술적 인 것이 아니라 조직적인 질문 일 것입니다. 모델을 어떻게 파기하지 않고 지점에서 제외시킬 수 있습니까? 아니면 MagicDraw 모델에 대한 해결 방법이 있습니까?

은 (논외. 생성 된 파일이 체크되지 않음)

+0

이유 버전 제어에서 생성 된 코드 어쨌든? MagicDraw 모델로 분기를 생성 할 수 있지만 생성 된 Java 파일은 생성하지 않습니다 ... – Stan

+0

- 생성 된 파일은 체크인하지 않습니다. - 모델을 사용하여 분기를 만들 수 있지만 반복적으로 개발되므로 필요할 수 있습니다. 다른 모델 버전을 병합합니다. –

답변

2

표준 소스 제어 도구를 사용하여 일부 형식을 자동으로 병합 할 수 없습니다. 일반 도구는 파일의 다른 모든 행에 영향을주지 않고 선을 삽입, 변경 또는 제거 할 수 있다는 가정에 의존합니다. 일부 형식은 해당 가정을 따르지 않습니다.

때때로 이러한 자극적 형식에는 원본 제어 도구가 실패한 후에 사용할 수있는 자체 병합 도구가 있습니다. 파괴 (Subversion)가 파일의 자동 병합을 시도하는 것을 막을 수있는 방법을 찾을 수 없지만, 파괴가 실패하면 2 개의 버전을 나타내는 작업 사본에 2 개의 파일을 덤프합니다. 그 시점에서

, 당신은 여기에 시도 할 수 있습니다 : http://www.magicdraw.com/main.php?ts=navig&cmd_show=1&menu=merge

+0

자동 병합을 방지하기 위해 모델을 이진 파일로 표시 할 수 있습니까? 그렇지 않으면 문제가 발생합니까? –

+0

네, 그게 일반적인 생각입니다. 병합을 원하지 않으면 이진으로 표시하고, 분기/변경하면 병합 대신 덮어 쓸 새 버전 만 사용합니다. –

3

그래서 난이 상황에서 적용 할 수 있는지 확실하지 않습니다 AndroMDA를 사용하지 않았습니다.

그러나 일반적으로 프로젝트의 어떤 것이 자동으로 생성되는 경우에는 생성 된 출력을 버전 관리에 넣지 않고 생성 프로세스의 일부로 만듭니다.

+0

생성 된 파일이 체크인되지 않았습니다. –

관련 문제