2011-11-15 2 views
1

diff 도구를 사용하여 두 폴더를 비교하고 있습니다. 몇 가지 다른 diff 도구를 시도했지만 지금은 WinMerge를 사용하고 있습니다. 오른쪽이나 왼쪽으로 독특한 보여 많은 파일 예를 들어, 다음과 같습니다 오른쪽에 폴더를 diffing 할 때 이동 된 파일이나 이름이 바뀐 파일은 어떻게 검색합니까?

은 우리가 가진 : /bar/some_organized_characters.txt 왼쪽에

것은 우리가 가진 : /foo/some_similar_organized_characters.txt

텍스트 파일이 약간있을 수 있습니다 유사하지만 대부분 유사합니다. 나는 대부분의 merge/diff 툴에 툴이 존재할 것으로 기대한다.이 툴은이 파일들이 "같은"(같은베이스를 가지고 있음을 의미) 가능성이 있지만, 파일이 옮겨지고, 이름이 변경되고 약간 수정되었다고 말할 수있다.

내가 구체적으로하려는 것은 "공급 업체 병합"입니다. 우리는 사용자 정의 된 소프트웨어를 가지고 있으며 최근의 공식 릴리스의 변경 사항을 변경 사항과 병합하려고합니다. 많은 파일이 최신 공식 릴리스에서 옮겨졌으며 손으로 모든 이동/이름 바꾸기를 찾는 것이 어렵습니다.

답변

1

버전 제어 도구를 사용하여 변경 사항을 확인하십시오. 초기 커밋으로 구조체를 커밋하기 만하면됩니다. 그런 다음 구조를 새 버전으로 덮어 쓰고 커밋합니다. 패치보기에는 이동 된 항목이 표시됩니다. 나는 Git을 아주 쉽게 할 수 있었다. 이러한 도구는 무언가가 어떻게 변했는지 확인하고 파일의 내용을 파헤 게됩니다. 실제로 git에서는 파일의 변경 비율이 이동 및 변경, 삭제 및 작성을 구성하는 임계 값을 설정할 수 있습니다.

+0

나는 힘내자를 사용하지 않았다. SVN도 똑같은가? 지금 SVN 그냥 원래 파일을 삭제 및 새로운 것으로 새로운 파일로 표시됩니다,이 방법은 SVN 이동/이름 바꾸기 것으로 보지 않기 때문에 파일의 내용을 변경 한 방법을 비교할 수 없다는 것을 의미합니다. – Buttons840

+0

SVN에는 URL 기반 스냅 샷 기반 스냅 샷과 마찬가지로 문제가 있습니다. 빨리 다운로드하고 git을 설치하는 것이 좋습니다. 로컬로만 작동하므로 서버가 필요하지 않습니다. 당신이 알아야 할 명령은'git init','git add -A' (모든 변경 추가),'git commit -m '과'git status'입니다. init 디렉토리를 실행하여 현재 디렉토리와 모든 하위 디렉토리를 저장소로 만듭니다. 모든 것을 추가하고 커밋하십시오. .git 폴더를 제외하고 작업 폴더를 삭제하십시오. 거기에 새 버전을 넣고 git add를 실행 한 다음 git status를 실행합니다. 변경된 사항을 보여 주어야합니다. –

+0

Mercurial 또는 Bazaar (또는 다른 VCS)는 Git과 비슷한 기능을 가지고 있습니까? – Buttons840

관련 문제