2011-01-11 4 views
0

my other Accurev question에 대해 만족스러운 답변을 얻지 못했지만 Accurev diffs에서보고있는 문제를 이해하기 시작했습니다.계승 된 변경 사항없이 Accurev에서 어떤 차이점을 얻으려면 어떻게해야합니까?

흐름이 같은 것입니다, • 버그 1에 대한 몇 가지 변경합니다

  1. 개발, 추진하고 있습니다.
  2. 개발자 A은 버그 2를 홍보하고 홍보합니다.
  3. 개발자 B 리뷰 개발자 A 님의 버그 1 변경 사항 및 변경 사항을 다시 보냅니다.
  4. 개발자 C reviews 개발자 A 님의 버그 2 변경 및 승격, 추가 승격.
  5. 개발자 A은 버그 1에 대해 더 많은 변경을가합니다. 내가 파손을 감지 곳 버그 1.

에 대한

  • 개발자 C 리뷰 개발자의 변화는 마지막 단계입니다. 개발자 C는 모든 트랜잭션/버전 (Accurev가 호출하는 모든 것)이 해당 이슈 ID와 연관되어 있음에도 불구하고 합리적으로 버그 1과 관련된 모든 변경 사항을 볼 수 없습니다.

    나는 기초와의 차이점을 발견하면 모든 버그 2 변경 사항과 승격 된 모든 사항을 얻습니다. 30 명의 개발자를 곱하면 악몽입니다.

    겹침 및 병합 해상도가있는 경우 실제로 엉망이되지만 그 경우를 제외하고는 속성이 잘못되지 않는다고 가정 할 수 있습니다. 오해.

    어쨌든 모든 프로모션이 "깨끗한"것으로 (내가 알기에) 새로운 거래가 각 개발자의 "유지"거래의 "별칭"거래라고 가정합니다.

    두 트랜잭션의 결합 된 차이를 보려면 어떻게합니까?

    특히 위의 1 단계와 5 단계의 거래. 두 건의 거래가 있으며 해당 거래의 변경 사항 만 적용하고 해당 거래는입니다. 이상적으로, 멋지게 형식화 된 또는 GUI 도구 diff는 재귀 적으로 작동합니다 (개별 파일이 아니라 전체적으로).

    유효한 답변은 "잘못하고 있습니다."이지만 "개발자 작업 공간에서 리뷰를 수행 하시겠습니까?"등과 같이 변경해야 할 사항에 대한 건설적인 제안이 포함되어야합니다. 우리가 잘못 사용했을 수도 있습니다.

  • 답변

    0

    나는 이러한 변경 사항은 해당 파일에 대한 변경의 여러 세트가있을 때 승진 한 후, 파일에 주어진 개발자의 변화를 볼 수있는 방법이 없다고 생각합니다.

    Diff와 Backed는 부모가 아닌 작업 영역 스트림에서 의미가 없습니다.

    기준과의 차이점은 모든 사람의 변경 사항입니다.

    What is the difference between basis and backing in Accurev의 대답에 대한 의견을 참조하십시오.

    +0

    참고 사실 불가능하다고 믿는 데 어려움이 있습니다. Subversion은 이전에는 병합과 관련하여 비슷한 문제가있었습니다. 지사 시작 지점과 병합 시점을 추적하지 않았다면 엄청난 충돌없이 추가 변경 사항을 다시 병합 할 수 없습니다. 나는 이것이 Accurev와 동일하다고 생각합니다. 그러나 내가 말할 수있는 한 최선을 다해 올바르게 할 수있는 사람은 아무도 없습니다. 그래서 사실상 "당신은 할 수 없다"는 것이 최선의 대답입니다. – Otto

    +0

    AccuRev 'diff'는 사용자가 고르고 선택하는 "즉시"패치를 결합 및 표시하지 않습니다. 그것은 두 버전의'diff' (내용)입니다. (만약 당신이 선택하고 선택할 수있게하고 모호함이 있다면, 사용자가 diff를 할 때마다 그들을 해결할 것인가?) 수정을 위해 _fix 1_ + _fix를보고 싶다면 1_ (즉, _fix 2_를 제외하고), _basis_ + _fix 1_ + _fix를 생성하여 _1_을 수정하고, 마지막 결과를 _basis _...와 비교해야합니다. – vladr

    +0

    어쨌든, 머리 꼭대기에서 벗어나십시오 : 오른쪽 스트림을 클릭하고 '활성 거래 표시'를 선택하고 거래를 선택하십시오 (예 :_fix 1_ 및 _fix를 수정하여 _ 1을 수정), 마우스 오른쪽 버튼을 클릭하고 "보내기 팔레트로 보내기", 비어있는 "검토 용"작업 공간 (스트림의 부모로부터 떨어져 있거나 스트림의 하위에서 _fix 1_), 병합 모호성을 해결하고 "검토 용"작업 공간으로 이동 한 후 백업 된 것과 비교하여 "검토 용"작업 공간의 내용을 삭제 (제거)하십시오. – vladr

    1

    내가 잘못하고 있다고 말하지는 않겠지 만 여기에는 분명히 가정이 있어야합니다. 필자의 설명에 따르면, 예제에서 하나의 파일을 명확하게 사용하고 있으며 (단순화하기 위해) 어쨌든 변경 사항이 순차적으로 적용됩니다.

    AccuRev에서 변경 패키지는 머리부터 기초까지 "버그"와 관련된 파일의 컨텍스트를 포함합니다.따라서 개발자가 버그 1을 수정하면 파일의 "시작"및 "종료"버전은 버그 1에 기인합니다. 다른 30 명의 개발자가이 시점에서 수행 한 작업과 관계없이 항상 버그 1에 대한 패키지 변경을 볼 수 있습니다 변경 사항 탭을 살펴보고 파일에 과 비교하면 해당 변경 사항이 수천 개의 추가 변경 사항이 해당 스트림으로 승격 되더라도 해당 버그와 관련이 있습니다.

    어려움이 발생하는 곳에서는 개발자가 자신이 완료되었다고 가정하고 버그 1에 속한 파일을 변경 한 다음 버그 2에 링크하고 계속 옮겼습니다. 검토가 완료되고 버그 1에 대한 추가 변경을 수행해야 할 때, 버그 1의 상단에 변경 사항이 변경됩니다.

    우선, AccuRev는 "패키지 변경 병합"을 선택하지 않고 AccuRev가 해당 파일을 Bug 1로 승격시키고 연결할 수 없도록합니다. 즉, 버전의 속성에 링크하려는 특정 버그, 특히 버그 2의 변경 사항에 차이가 있음을 의미합니다. AccuRev는 버그 2 변경 사항이 버그 1에 암시 적으로 포함되어 있는지 확인하기를 바랍니다 고치다. 그래서 우연히 그 일이 일어나지 않게 할 것입니다. 그러나 Bug 1 내용에 Bug 2 변경 내용을 표시하지 않으려면 일부 패치를 수행해야합니다. 이것은 앞서 설명한 워크 플로에서 까다로워 지지만 확실히 가능합니다. 요점은 다른 버그와 관련된 일련의 변경 사항이 있기 때문에 사용자가 제시 한 시나리오가 자동으로 처리 할 수있는 도구가 아니라는 것입니다. 글쎄, 내가 그것을 수정하고 "의견을 확인"과 같은 것들의 외부에서 작동하고 파일 수준 대신 문제 수준에서 작업하는 자동화 된 방법을 제공하는 도구는 없다고 말하자. AccuRev Change Package는 매우 강력하며 사용자가 직접 제어 할 수 있으므로 개발 프로세스 전반에 걸쳐 CP로 개체를 조작 할 수 있습니다.

    이 질문에 대한 답변이이 포럼에서 가능한 한 철저히 이루어지기를 바랍니다. 추가 질문이 있거나보다 깊이있는 토론을 원한다면, 우리는이를 준비 할 수 있습니다.

    건배,
    ~ 제임스