편집 : 요약 : 힘내 허용하지 않습니다 날짜의 "내부 날짜 형식"(신기원 이후의 초)에 주어진 1973년 3월 3일 9시 46분 40초 (신기원 + 100000000s) 전. 이것은 "20110224"를 "2011-02-24"의 약식으로 허용하는 것입니다. - 이것은 버그가 아닙니다 : 실제로는 아니지만 문서화되지 않았습니다. - 해결 방법 : 할 수없는 경우 자식 내부 날짜에 의존하지 마십시오. --감사합니다 : 홉스
안녕 모두,
내가 자식 커밋 나무 아래로 추적 한 자식 필터 지점 몇 가지 문제가 있습니다. - 자세한 내용은 자식 커밋 트리의 맨 페이지를 참조 - 1970-01-01에 env GIT_AUTHOR_DATE="0 +0000"
설정은 "망할 놈의 내부 형식"을 사용하여 날짜가
#!/bin/bash
# please run these commands in an empty directory
# (should not destroy an existing repo, though. I think it would only
# a few dangling objects)
set -e -o pipefail
git init
tree=$(git write-tree)
commit=$(echo "my first commit -- the tree is empty" |
env GIT_AUTHOR_DATE="0 +0000" git commit-tree $tree)
echo "This is commit $commit:"
git cat-file commit $commit
참고 :이 스크립트를 고려하십시오.
그러나이 스크립트의 출력 (원시 커밋은) 왜 자식이 $ GIT_AUTHOR_DATE을 무시 이제
tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
author Jane Doe <jane> 1298477214 +0100
committer Jane Doe <jane> 1298477214 +0100
my first commit -- the tree is empty
입니까? 이것이 중요한 경우 내 git --version
은 git version 1.7.1
이됩니다. 망할 놈의 날짜 파서 코드에서 발견
우수한 캐치를 사용하여 1973 년 이후에 일어났다 커밋 합성에만큼 당신이 스틱으로하지만 잘 작동합니다! – Arrowmaster
와우, 나는 이것을 여러 번 upvote 할 수 있었으면 좋겠다. 이 지구를 확인해 보니 무슨 생각이 들었습니까? –
@Adrian 문서에서 아무 것도 보지 못했고 이미 git 소스를 체크 아웃했습니다 ... 그래서 grepping을 시작했습니다. 때로는 RTFS가 무엇보다도 빠른 속도로 문제의 핵심에 도달합니다. – hobbs