테스트 데이터 생성기 프로젝트의 프로그래밍 언어 분석 오류 해결: `.gitattributes` 추가
Closed this issue · 6 comments
문의 경과
다음과 같은 답신 확인
Hi Uno,
I have heard back from the engineers and they identified that a Golang related vendored heuristic hardcoded into
github-linguist
caused the directories in your repo containing Java files to be considered vendored:# Go fixtures - (^|/)testdata/
So you have two options:
- Add a
.gitattributes
file to their repository, with the following entries:src/main/java/uno/fastcampus/testdata/* -linguist-vendored src/test/java/uno/fastcampus/testdata/* -linguist-vendored
Or
- Rename the two
testdata
directories insrc/main/java/uno/fastcampus/testdata
andsrc/test/java/uno/fastcampus/testdata
. For example,test-data
would not conflict withgithub-linguist
's vendored heuristics.The recommendation is it would be easiest to add the
.gitattributes
file.Worth noting:
Using either the .gitattributes solution or renaming the testdata directories, both solutions fix the issue and allow the repo's language stats to accurately reflect the Java file percentage:> cd test-data > github-linguist 85.09% 106376 Java 14.83% 18535 HTML 0.09% 108 Procfile
Let me know how it goes.
Regards,
Seve
GitHub Support
조치 방법 결정
깃헙 Seve
의 답변대로, 2가지 방안이 있는데:
.gitattributes
작성하기- 패키지명 리팩토링
1안으로 가기로 한다. 이유는:
- 추천대로 가장 간편하고 변경이 적은 방법
- 기존 패키지명
testdata
에 심각한 하자가 있지는 않은 것으로 판단 -> 변경 동기가 적음 - 패키지명 변경 추천안인
test-data
에서 하이픈(-
)의 사용은 자바 패키지명 네이밍 컨벤션을 위반 ->test_data
가 될 수 있음 - 그럼에도 보편적인 패키지 네이밍이 아님. 패키지명은 순수 영소문자로 유지하고자 함
- 그렇다면 네이밍에 수고가 너무 들어감
마음에 들지 않는 부분은:
.gitattributes
는 프로젝트와 상관없는 깃헙의 기능으로 이 맥락을 모르는 사람에게 컨텍스트 이해를 추가로 요구함- 커밋 메시지로 극복할 예정
.gitattributes
는 깃헙 언어 분석 규칙을 수동으로 무시하는 것으로, 프로젝트의 근본적인 네이밍 문제를 해결하는 것은 아님- 깃헙의 문제로 문제 범위를 제한하여 간주할 수 있음
이 점 종합적으로 고려하고 1안으로 진행한다.
Reference
조치 경과
#99 로 작업을 완료하였으나, 여전히 문제가 완전히 해결되지 않은 것 같아서 이슈를 다시 오픈한다.
자바 언어가 잡히긴 했는데 비중이 고작 3.3% 밖에 안된다. 이는 실제와 다른 수치이다.
이 내용을 깃헙에 재차 문의한 상태.
240821, 2차 문의 답변
Hi Uno,
Thanks for your patience.
It looks like what is happening is linguist is not recursing into the directories nested with
testdata
, and an extra*
is needed for the.gitattributes
entries:-src/main/java/uno/fastcampus/testdata/* -linguist-vendored -src/test/java/uno/fastcampus/testdata/* -linguist-vendored +src/main/java/uno/fastcampus/testdata/** -linguist-vendored +src/test/java/uno/fastcampus/testdata/** -linguist-vendored
Give this a try.
Regards,Seve
단순 문법 문제이므로, 새 제안 코드를 적용하면 해결될 것으로 예상함.