Git 1.8.4 및 Linux (Kubuntu 13.10)를 사용하고 있습니다.
하위 모듈이있는 Git 저장소가 있습니다. 기본 Git 모듈에서 디렉토리 diff를 요청하면 제대로 작동합니다. 하위 모듈 중 하나에서 동일한 작업을 수행하면 오류가 발생합니다.
~/Projects/MAINMODULE/platform/SUBMODULE [master]$ git difftool -tool=meld --dir-diff --cached
fatal: Could not switch to '../../../../platform/': No such file or directory
diff --raw --no-abbrev -z --cached: command returned error: 128
~/Projects/MAINMODULE/platform/SUBMODULE [master]$ cd ..
~/Projects/MAINMODULE/platform [master]$ cd ..
~/Projects/MAINMODULE [master]$ git difftool -tool=meld --dir-diff --cached
// NO PROBLEM, works.
~/Projects/MAINMODULE [master]$ git version
git version 1.8.4
당신은 어떤 생각이 있습니까? Git 버그일까요?
업데이트 : 1.8.5.3은 동일한 출력을 생성합니다.
이 해결 방법은 저에게 효과적입니다.
GIT_WORK_TREE="$(git rev-parse --show-toplevel)" GIT_DIR="$(git rev-parse --git-dir)" git difftool --tool=meld --dir-diff
물론 예제에 따라 --cached에 넣을 수 있습니다.
입력하는 것이 상당히 많으므로 다음 별칭을에 추가 할 수 있습니다 ~/.gitconfig
.
[alias]
submeld = !git --work-tree "$(git rev-parse --show-toplevel)" --git-dir "$(git rev-parse --git-dir)" difftool --tool=meld --dir-diff
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다