2013-11-01

bash로 git의 빈 디렉토리 컨트롤하기

(2014-11-19: 좀 더 깔끔하게 수정)


git의 유일한 단점은 빈 디렉토리를 관리 할 수 없다는 것이다. 따라서 빈 디렉토리를 강제로 관리하려면 대충 아무 파일이나 던져놓는 수 밖에 없다.
MarkEmptyDirs라는 툴이 있기는 하지만, 깔기 귀찮다. 그냥 bash 있는거 쓰고 말지…

본문

find . -name ".emptydir" -delete; find -empty -type d | while read x; do touch "$x/.emptydir"; done

참 쉽죠?

주의: 이 스크립트에는 버그가 있지만 여백이 부족하므로 더 이상의 자세한 설명은 생략한다. 차마 귀찮아서라고는 못하겠다. 예제를 수정하면서 더이상은 naver!

해설

  1. 먼저 하위 디렉토리에서 .emptydir 파일을 찾아서 제거한다.
  2. 그 다음 빈 디렉토리를 찾아서 크기가 0인 .emptydir 파일을 생성한다.
참 쉽죠? (2)

응용

이클립스에 올려서 프로젝트에 먹일 수도 있다.

Run → External Tools → External Tools Configuration... 에 가서 새 프로그램 항목을 만든다.

  1. 이름은 적절하게 등록한다.
  2. Location: /bin/bash
  3. Working Directory: ${project_loc}
  4. Arguments: -c "find . -name \".emptydir\" -delete; find -empty -type d | while read x; do touch \"$x/.emptydir\"; done"

그 다음 Run → External Tools → Organize Favorites... 에서 방금 만든 것을 선택하면 툴바에서 한 방에 실행할 수 있다.

참 쉽죠? (3)
Share:

0 개의 댓글:

댓글 쓰기