2013-11-04 3 views
0

비슷한 질문을하고 수은 아래 무시 된 파일의 디렉토리를 요약하고 적절한 대답 Summarize all ignored files/directories in a mercurial repository을 얻었습니다.무시 무시한 파일에 대한 요약 요약을위한 의욕적 도구

그러나 대규모 프로젝트의 경우 hg stats -i에 의해 버려지는 정보는 (디렉토리 수준으로 필터링 한 후에도) 여전히 많이 있습니다. 무시 된 파일에 대한 요약 정보를 얻는 데 도움이되는 도구 또는 스마트 스크립트가 있습니까? 어떤 최상위 폴더가 물건을 무시했는지 나타내는 아이콘이있는 디렉토리 구조와 같은 트리가 그려집니다. exe 또는 pyc 파일이나 django 또는 jquery과 같은 전체 라이브러리는 내 저장소에 있지만 hgignore의 일부입니다.

이것이 존재하지 않는다면 hgignore의 glob/regexp 패턴에서 오류를 만들지 않았는지, 즉 실수로 중요한 파일을 무시했다는 것을 교차 검증 할 수있는 간단한 도구 일 수 있습니다.

+0

나는 아래 답변을 가지고있다. 그러나 진짜 대답은 당신의 저장소가 너에게 너무 거대하고 무엇이 무엇인지를 보아도 무시되지 않는다는 것이다. 예를 들어, 라이브러리는 별도의 리포지토리에 보관하는 것이 더 좋으며 언어 기본 종속성 관리자가 빌드/컴파일 프로세스의 일부로 가져옵니다. "모든 것 중 하나의 큰 저장소"는 git 또는 Mercurial에 적합하지 않습니다. –

+0

나는 "모든 것 중 하나의 거대한 repo"를 가지고 있지 않지만 jquery 같은 작은 라이브러리조차도 많은 파일을 가지고 있고 hgignore에 jquery 폴더를 넣고 싶다고 생각합니다. 웹 프로젝트 외부에 전체 jquery 폴더를 놓아야한다고 제안 하시겠습니까? – Medorator

+0

예. 배포의 일부로 원하는 버전을 가져 오는 javascript 프로그램을위한 훌륭한 종속성 관리자가 있습니다. 사용자/팀이 직접 작성한 코드 만 저장소에 있습니다. 다른 모든 것들 (타사 라이브러리 및 자동 생성 코드)을위한 더 좋은 곳이 있습니다. –

답변

1

Mercurial 생태계에는 무시 된 것들을 시각적으로 보여줄 도구가 없습니다. 당신은, 그러나, 이런 식으로 뭔가를 할 수 : 다음의 repo의 사본 (안 복제)를 생성하고

cd .. 
cp -a yourRepo ignoredOnlyRepo # create a copy (not a clone) of the tree 
cd ignoredOnlyRepo 
hg status -mardcu --no-status --print0 | xargs -0 rm 

그것에서 모든 비 무시 파일을 삭제합니다. 그 시점에서 원하는 파일 뷰어를 사용할 수 있으며 나머지는 모두 남아 있기 때문에 만 무시됩니다.

+0

재미있는 방법은 수천 개의 파일이 들어있는 라이브러리를 사용하는 경우에도 다소 시간이 걸립니다. – Medorator

+1

'.exe' 파일에 대한 언급에서 위의'xargs' 명령조차도 약간의 수정이 필요할 것입니다. 그러나 linux/unix에서는 크기 대신 cp --link를 사용하여 복사본 대신 하드 링크를 생성합니다. 그들은 (실제) 추가 공간을 차지하지 않으며 (거의) 즉각적입니다. –

관련 문제