2013-08-05 5 views
2

Git 저장소 (Chromium)에서 특정 범위의 파일 변경 목록 번호를 가져 오려고합니다.
내 명령은입니다. :변경 사항이있는 파일의 전체 경로를 보는 방법

git whatchanged --since="Aug 16 2009" --until="Aug 17 2009" --stat -r 

출력은 다음과 같습니다

.../extensions/extension_browsertests_misc.cc  | 1 - 

내 문제는 내가하지로, 파일의 전체 경로를 표시 할 것입니다 "..."내가 뭔가를 시도

g 같은 :

git whatchanged --since="Aug 16 2009" --until="Aug 17 2009" --full-diff --abbrev=400 

결과 :

: 100,644 100,644 a3d3889fd542c60c98b6e1b2ecf0bc90148f20e8 81c723db7e83b1bcd7c5da8778c52ab164e569da M 크롬/브라우저/확장/extension_browsertests_misc.cc

그것은 40 바이트 16 진수 개체 이름을 커밋 것 . 이 16 진수를 10 진수로 변환하려고했지만 결과가 "1 -"과 완전히 다릅니다 (위의 전체 경로 결과와 동일하게 입력해야 함)

내 질문은 : git whatchanged 변경 횟수가 많은 파일의 전체 경로를 표시하려면?

고맙습니다.

답변

2

은 내부적으로 사용하는 diff-treerev-list과 동일한 명령을 사용할 수 있습니다. 에서 200으로 통계 열의 너비를 조정하고 파일 이름을 150으로 변경하거나 --pretty을 사용하여 사용자의 필요에 맞게 로그 출력을 조정할 수 있습니다. diff-tree에서 명령에 --stat=200 --stat-name-width=150을 추가 할 수 있습니다. 다른 방법

+0

+1 감사합니다. 마술처럼 작동합니다. –

+0

함수 "git whatchanged"로 "stat"인수에 대한 문서를 찾지 못했고 "git log"맨 페이지에서 찾았습니다 : https://www.kernel.org/pub/software/scm/git/ docs/git-log.html "git whatchanged"에서 왜 우리가 이것을 사용할 수 있는지, 왜 "git whatchanged"맨 페이지에 쓰여 있지 않은지 이해하지 못합니다. –

+0

음, Git (대부분의 유닉스 도구와 비슷 함)은 모두 함께 작동하는 일련의 작은 명령입니다. whatchanged에 대한 매뉴얼 페이지를 읽으면, git rev-list와 git diff-tree로 구성되어있는 것을 볼 수 있습니다. 맨 페이지에 대한 설명에서'명령은 내부적으로 git diff-list를 git diff-tree로 파이프하고,이 두 명령에 대한 명령 행 옵션을 취합니다. '그래서 두 명령 모두의 맨 페이지를 보면, git diff-tree에 stat 옵션이 있습니다. 로그와 달리 diff-tree로 반영하도록 내 대답을 편집 할 것입니다. – Doon

관련 문제