2016-11-15 4 views
-1

나는 내 vim 구성을 유지하는 git 저장소를 가지고있다.이 트리는 플러그인을 포함하고있는 다른 사람들의 repos를 참조하는 많은 자식 서브 모듈을 포함하고있다.git 서브 트리가 임베디드 서브 모듈 초기화를 방해하는 이유는 무엇입니까?

GNU stow를 사용하여 올바른 점 파일 저장소를 설정하는 데 관심이 있었기 때문에 vim repo를 통합하는 가장 좋은 방법은 점 파일 repo에 서브 트리를 만드는 것이라고 생각했습니다. 내 vim 구성이 다른 사람으로부터 포크로 잡히면서, 필자는 자신의 플러그인과 구성을 유지하면서 변경 사항을 쉽게 병합 할 수있는 방법을 찾았습니다.

서브 트리를 성공적으로 내 repo에 추가했습니다 (git subtree add -P vim/.vim-files https:\\xx master --squash 사용). 그 결과 나무는 다음과 같습니다 : 그 후 dotfiles/에서 git submodule init을 수행 할 때, 그것은 fatal: No url found for submodule path 'vim/.vim-files/plugins/submodule1' in .gitmodules 실패

dotfiles/ 
├── .git 
└── vim/ 
    ├── .vimrc 
    └── .vim-files/ <= THE SUBTREE 
     ├── .gitmodules 
     └── plugins/ 
      └── submodule1/ 

. URL이 있고 하위 트리 repo는 독립형으로 사용될 때 하위 모듈에 아무런 문제가 없습니다.

낯선 부분은 .vim-files으로 cd하고 거기에서 명령을 실행하면 오류가 다음과 같이 보입니다 : fatal: No url found for submodule path 'vim/.vim-files/vim/.vim-files/plugins/submodule1' in .gitmodules.

누구든지이 동작의 원인을 설명 할 수 있습니까? 하위 트리와 하위 모듈이 호환되지 않습니까, 아니면 버그를 발견 했습니까?

답변

1

동일한 오류가 발생했습니다. 자식들이 상대 경로가 될 것으로 기대할 때 전체 경로로 하위 모듈에 의해 발생한 것으로 보입니다. 내 dotfiles repo의 경고 주석을 참조하십시오. https://github.com/palavrov/config#warning