SubGit 으로 만든 git 저장소에 svn 저장소의 변경 사항이 적용되지 않을 때 해결 방법
SubGit 은 git 를 이용해서 svn 저장소에 접근할 수 있는 기능을 제공하는 아주 강력한 도구이다. 하지만 가끔 svn 저장소에는 분명히 변경 사항이 있는데, git 에서는 보이지 않는 경우가 있다. 처음에는 svn 을 git 로 바꾸는 작업을 처음부터 다시 했었는데, svn 저장소가 매우 크다면 git 저장소로 바꾸는데 시간이 꽤 많이 걸린다. 그래서 좀 더 나은 방법이 없을까 생각해보다 찾아낸 것이 SubGit 의 install 명령을 다시 수행하는 것이다. 이미 있는 git 저장소에 subgit install 을 다시 수행하면 git 저장소에 아직 적용되지 않은 변경 사항만을 svn 저장소로부터 가져온다. 따라서 훨씬 시간이 줄어든다. 예를 들어, git 저장소가 ~/git/repo.git 이라면, subgit install ~/git/repo.git 을 하면, 다시 올바르게 작동한다. // ---- 2014/12/20 subgit 과 git 저장소를 원격 서버에 설치해서 쓰고 있는데, subgit 데몬이 시간이 좀 지나면 저절로 죽었다. 이게 꽤 빈번한터라, 매번 서버에 접속해서 subgit install 을 수행야 했는데, 정말 귀찮은 작업이었다. 그래서 더 좋은 방법이 있지 않을까해서 개발사에 물어보았다. 개발사의 설명은 이랬다. 일단 subgit 데몬이 죽는 이유는 로그 분석에 따르면 커널이 죽이는 것이라고 했다. 해결 방법으로는 메모리를 늘리거나 스왑을 설정하라라는 것이었는데, 관리자가 아닌 서버에 더부살이 하는 입장에서 그렇게 하기에는 힘들었다. 그리고 svn 저장소로부터 git 저장소로 변경사항들을 가져오려면 이를 위한 데몬이 실행되어야 하는데, 문제는 이 데몬이 자동으로 실행되지 않는다는 것이다. 데몬이 실행되는 경우는 두 경우라고 한다. 하나는 subgit install 이고, 다른 하나는 git push 이다. git pull 은 해당되지 않는다. 따라서 아무리 git pull 을 하더라도...