Development Tip

Tortoise SVN : 'theirs'를 사용하여 갈등을 해결합니다.

yourdevel 2020. 10. 26. 21:23
반응형

Tortoise SVN : 'theirs'를 사용하여 갈등을 해결합니다. 무슨 뜻이에요?


누군가 충돌 파일에서 Tortoise SVN의 다음 두 가지 옵션의 차이점을 설명해 주시겠습니까?

  • 'theirs'를 사용하여 갈등을 해결하십시오.
  • '내'를 사용하여 충돌을 해결하십시오.

참고로. 도대체 왜 이렇게 혼란스러운 용어 사용을 버그로보고 한 적이 없습니까?


'자신의 파일'을 사용하여 충돌 해결은 충돌하는 편집 내용이있는 두 파일을 체크인하려고 할 때 SVN이 변경 사항을 무시하고 대신 다른 사람의 변경 사항을 사용함을 의미합니다.

'내'를 사용하여 충돌을 해결한다는 것은 변경 사항을 버리고 대신 파일 버전을 사용한다는 의미입니다.


추가 참조를 위해 전체 목록을 추가하고 싶었습니다.

(e)  edit             - change merged file in an editor
(df) diff-full        - show all changes made to merged file
(r)  resolved         - accept merged version of file

(dc) display-conflict - show all conflicts (ignoring merged version)
(mc) mine-conflict    - accept my version for all conflicts (same)
(tc) theirs-conflict  - accept their version for all conflicts (same)

(mf) mine-full        - accept my version of entire file (even non-conflicts)
(tf) theirs-full      - accept their version of entire file (same)

(p)  postpone         - mark the conflict to be resolved later
(l)  launch           - launch external tool to resolve conflict
(s)  show all         - show this list

동의한다.

다음과 같이 말하면 더 명확해질 것 같습니다.

  • 저장소 (자신의)를 사용하여 해결
  • 작업 복사본을 사용하여 해결 (내)

BuzzAnn이 정확합니다. 리포지토리에있는 것이 내 것이 될 수도 있기 때문에 내 것과 그들의 것은 모호합니다. 분명한 차이점은 저장소와 로컬 복사본 입니다.


SVN 명령 줄 병합은 특히 분기를 트렁크로 다시 병합 할 때 혼동을줍니다. "내 변경 사항"은 내가 지점에서 만든 것이지만 SVN에 따르면 잘못된 것 입니다. 정말 복잡하게하기 위해 SVN은 명령 줄 도움말에서 경로를 SOURCE, TARGET 및 HEAD로 참조합니다.

다음은 C : \ Project1 \ Trunk 디렉토리 에서이 병합 문을 실행하는 경우 간단한 대답입니다 .

svn merge -r 60:68 C:\Project1\branches\UpdatesToProject1

"Mine"은 SVN이 실행되는 디렉터리 (C ​​: \ Project1 \ Trunk)입니다.

"Theirs"는 병합하고 명령 줄에서 지정한 디렉터리 (C ​​: \ Project1 \ branches \ UpdatesToProject1)입니다.

SVN이 MINE과 THEIRS가 참조하는 경로를 제공하면 정말 좋을 것입니다.


저장소에있는 것이 더 이상 (단독) 귀하의 것이 아니라는 것을 수락하면 액세스 권한이있는 모든 사람과 공유됩니다. 그러면 더 명확해질 수 있습니다.

이 맥락에서 :

"그들의"는 "저장소에있는 팀의 공유 코드"를 의미합니다. "내"는 (나의) "작업 복사본"을 의미합니다 (아마도 로컬 컴퓨터에 있음).

따라서 "사용"은 작업 복사본을 공유 복사본으로 바꾸고 로컬 컴퓨터에있는 변경 사항을 삭제합니다. 작업 복사본의 코드가 리포지토리에 보관되어야한다고 결정하고 현재 리포지토리에있는 것은 버립니다.

참고 URL : https://stackoverflow.com/questions/4015864/tortoise-svn-resolve-conflict-using-theirs-what-does-it-mean

반응형