2012-01-05 3 views
2

Clearcase에서 기록을 보존하면서 파일을 복사 (분기, 분할)하고 싶습니다. svn cp old.txt new.txt과 같은 것입니다. 어떻게해야합니까?Clearcase : 파일을 복사/포크하는 법?

+0

Base ClearCase 또는 UCM으로 작업하고 있습니까? –

+0

@TamirGefen : UCM – neves

답변

4

ClearCase에서 파일을 분기 할 수 없습니다.

코드를 리팩토링하고 파일을 두 개로 분할하면 그 중 하나가 새 파일로 나타나고 누가 코드를 작성했는지에 대한 정보를 잃게됩니다. annotate 명령은 라인 작성자가 누가 그것을 쪼개 었는지 말합니다.

+0

+1. 그것은 나의 대답에서 나의 초기 결론과 일치하는 것으로 보인다. – VonC

+0

@vonc 실례합니다. 당신은 정말로 그렇게 말합니다. 그러나 나는 더 직접적이고 간결한 대답이 미래의 독자들에게 더 좋을지라도. 여기 주위의 모든 도움에 감사드립니다. 당신은 최고 중 하나입니다. – neves

3

UCM이든 아니든간에 파일의 전체 기록을 쉽게 복제 할 수는 없습니다.
히스토리를 분리하는 가장 좋은 방법은 여전히 ​​원래 분기의 동일한 파일에 영향을주지 않고 해당 파일에 새 버전을 만들기 위해 분기를 작성하는 것입니다.

생각 'svn의 CP는'SVN에 지점이 디렉토리, 사실에서 올 수도 ClearCase를 사용할 수 있으며, 실제로 'svn cp'를 사용은 ClearCase 가지를 복제 할 cc2svn 같은 도구한다.

그러나 ClearCase를 사용하면 지점이 일류 시민이기 때문에 분기 기간이 복사/분기 기간보다 더 바람직합니다. cc2svn의 메인 페이지에서

는 : 부모 지점에서 같은 대상에

  • SVN 복사 모든 파일 :

    은 ClearCase와 SVN의 가지를 만드는 차이가 svn cp branches/main branches/dev_branch

  • ClearCase는 체크 아웃 작업시에만 파일의 실제 분기를 만듭니다.
+0

파일을 분류하고 싶지 않습니다. 나는 그것의 2 개의 사본을 원한다. 나는 코드의 일부를 다른 파일로 리팩토링하고 있으며 그 역사를 잃고 싶지 않다. – neves

+0

@neves : 요점은 : 역사를 유지하는 svn의 복사본은 ClearCase의 복사본과 매우 다르다는 것입니다. 이는 역사를 유지하지 않고 다른 개체를 완전히 만듭니다. ClearCase로 추론하는 올바른 방법은 SVN과는 대조적으로 지점에 있습니다. 여기서''cp ''는 모든 것을 만드는 길 (지점, 태그, 사본 ...)입니다. – VonC

+0

@neves : 하나의 파일을 복사 할 수는 있지만 전체 기록은 가져올 수 없습니다. 그러나 지사에서는 파일의 이름이 변경되지 않으며 그 전체 역사를 활용할 수 있습니다. – VonC

0

은 아주 간단하게 체크 아웃 취소 상위 폴더의

모든 파일 (안 체크 아웃 상위 폴더 내에서) 당신이 적절한 위치로 복제 할

체크 아웃 상위 폴더 이동 요소를 완료 역사가있는 원본 폴더로 돌아가고 중복 된 사본도 역사가있는 새 위치에 남아 있습니다. 이제 각 파일을 체크 아웃하고 개별적으로 변경할 수 있습니다.

관련 문제