2015-02-07 2 views
1

git 상태의 출력을 스크립트에 사용하고 싶지만, 출력이 항상 상대 상대 경로를 제공하기 때문에 다른 명령은 arg를 찾을 수 없습니다. This question는 relativePaths 옵션을 언급하지만, 명령 옵션으로 제공 할 때 출력에 영향을주지 않습니다 : 나는 변경된 파일을 가지고 있다면어떻게하면 git 상태에서 현재 디렉토리에 상대적인 경로를 얻을 수 있습니까?

--short

자식 -c status.relativePaths = TRUE 상태 C:\projects\myproject\config\module\feature.src에서, 나는 C:\projects\myproject\web\somepage의 명령 프롬프트에 앉아있어, 그때는이 중 하나와 같은 경로를해야 할 것 :

  • ..\..\config\module\feature.src
  • C:\projects\myproject\config\module\feature.src

... 내가 새로 변경된 파일에서 호출하고 싶은 다른 도구로 넘겨 줄 수 있습니다. 대신, myproject\에 따라 환매 특약으로, 내가 해봤 옵션의 모든 조합이 어떻게 내가 실제 상대 경로, 또는 절대 경로를 얻을 수 있습니다

  • config\module\feature.src

만 나왔고? 기본 무언가를 놓치고 있습니까?

Windows 7에서 git 버전 1.9.4.msysgit.2를 사용하고 있습니다. 외부 폴더에 repo 파일이 있습니다. 내가 시도하지 못한 일의 목록을 제공 할 수 있습니다. 다른 명령을 실행하기 전에 내 스크립트 쿼리와 cd을 repo 루트에 넣거나 먼저 수행 할 수 있습니다.하지만 그저 해결 방법 일뿐입니다.

+0

당신은 relativepaths = false가 아니길 원합니다. –

+0

@Andrew'git -c status.relativePaths = false status'는 여전히 저장소 루트를 기준으로 경로를 제공합니다. 모든 문서에 따르면 이것이 작동하도록 설정되어 있습니다. Windows 관련 버그가있을 수 있습니까? – gws

+2

확실하지 않습니다. Linux 2.3.0은 광고 된대로 작동합니다. 나는 창문을 사용하지 않는다. –

답변

1

git config status.relativePaths true을 사용해야합니다. configuration 섹션 here 섹션을 읽어보십시오.

+0

음,'--porcelain'은 명시 적으로 repo-relative 경로를 강제합니다. 이것은 정확히 내가 찾고있는 것과 반대입니다. – gws

+0

@gws 죄송 합니다만, 나는 귀하의 질문에 대해 완전히 오해하고 있습니다. 이에 따라 답변을 업데이트했습니다. – tejasbubane

+0

내 작업 프로젝트에서 무슨 일이 벌어지는 지 모르겠다. 위의 예제 경로와 같이 폴더 구조와 새 저장소를 설정하고 status.relativePaths를 사용하면 기대되는 효과가 발생한다. 다른 요소가 정신병을 일으키지 않는 한 분명 정확합니다. (지금은 msysgit과 상당히 오래된 버전의 Windows 빌드에 대해 의심 스럽습니다.) – gws