계속해.git/tags in tags 옵션은 git 서브 모듈에 있습니다.

4179 단어 vim-fugitive

묘사

나는 너의 관례를 수정하고 라벨 파일을 넣었다.git/tags(thanks!), 거의 모든 물건이 잘 작동하는데, 도주범이 서브 모듈에 있을 때 안을 보지 않는 것을 제외하고는.
현재 submodule_name에서 파일을 편집할 때 tags=...,.git/modules/submodule_name/tags,... (특정 언어를 언급하지 않는 파일) (그 외에 .git/tags 는 그다지 특정한 태그 파일로 사용할 수 있습니다. 만약 이 파일을 찾을 수 없다면 다행입니다.

토론 #1

당신은 이미 그 게시물의 acomment에서 건의한 해결 방안을 보았습니까?항상 하위 모듈이 아닌 상위 저장소에 레이블을 배치하는 것이 좋습니다.

토론 #2

솔직히 말해서 나는 그것이 도대체 무엇을 하는지 확실하지 않다.분명히 하기 위해서, 나는 차라리 figitive를 원한다. 태그 경로에 추가할 때, 파일이 하위 모듈에 있는 것을 완전히 잊어버렸다. 왜냐하면 나는 12개의 다른 태그 파일을 만들고 싶지 않고, 그것들은 모두 코드 라이브러리의 일부이기 때문에, 나는 어느 곳에서든지 어디든지 갈 수 있어야 한다.

토론 #셋

나는 서브 모듈을 실제로 사용하지 않았기 때문에 더 많은 세부 사항이 필요하다.나는 어떻게 내가 서브 모듈에 있다는 것을 판단하고, 어떻게 루트 모듈로 돌아갑니까?

토론 #4

ctags 경로 코드는 약 185
126에 발췌하다
나는 네가 이 문제를 해결하기 위해 하위 모듈이 필요할 것 같다고 생각한다.이것은 결코 쉽지 않기 때문에 여기에 간단한 예가 하나 있다.
cd /tmp
mkdir main sub
cd sub
git init
touch README
git add .
git commit -m 'Initial commit in sub'
cd ../main
git init
touch README
git submodule add /tmp/sub sub
git commit -m 'initial commit of main'
편집 중인 경우/tmp/sub/README그리고 /tmp/main/sub/.git는 하나의 파일이지 하나의 디렉터리가 아니다. fugitive#extract_git_dir 되돌아오기/tmp/main/.git/modules/sub는 Gcommit 등에서 올바른 방법이다.
나는 네가 (185줄 근처) 를 추가해서 path ".../.git/modules/..."".../.git/tags" 에 추가해야 하는지 &tags 측정하면 내가 줄곧 겪었던 문제를 해결할 수 있을 것이라고 생각한다.

토론 #5

그럼 전 세계적으로 set tags+=./.git/tags 하는 게 어때요?아마도 이 노래 전체와 춤을 너무 많이 생각했을 것이다.

토론 #6

오류입니다. set tags+=./.git/tags; 를 실행하십시오.세미콜론은 디렉토리의 계층 구조를 따라 위로 이동합니다.

토론 #7

하나도 나쁘지 않아요.너무 많이 생각한 것 같아서요.

토론 #8

나는 내가 평론을 쓸 때 그것이 효과가 있다고 맹세했지만, 지금은 그렇지 않다

토론 #9

사용하지 않으면./ 효과가 더 좋습니다.
2014년 4월 13일 일요일 저녁 8:11, 짐 보프[email protected]쓰기:

I swear it worked when I wrote the comment but now it's not. :(

Reply to this email directly or view it on GitHubhttps://github.com/tpope/vim-fugitive/issues/426#issuecomment-40330292 .

토론 #10

하지만 현재 작업 목록만 존중합니다.

토론 #11

아, 네 말이 맞아.어쨌든 나는 프로젝트의 뿌리를 자주 떠나지 않는다.:help tags-option 분호는 아예 언급되지 않았다.확실합니까?
이것이 바로 네가 도주범의 스마트 라벨로 나를 위해 해결해 준 문제다.
고마워. 이거 봐.

토론 #12

:h file-searching에서 설명했지만 'tags'는 디렉터리가 아닌 파일을 포함하기 때문에 적용되지 않을 수 있습니다.

토론 #13

나도 같은 문제가 있다. 나는 이미 나의 용례에 맞는 해결 방안을 찾기 시작했다.댓글을 얻는 가장 좋은 방법은 무엇일까요?
https://github.com/ethanvandenberg22/vim-fugitive/compare/tpope:master...master
나는 어떻게 해결해야 할지 모르는 일들이 있다.
- 하위 모듈 레벨만 구분합니다.지원 안 함: <git_dir>/dir/<git_submodule_dir>/dir/dir/<git_submodule_dir>/<file_im_editing>.txt- 테스트가 좀 더 필요하지만, Glcd (python에서.rope) 와 @mattboehm의case &tags (여러 개의 하위 모듈, 하나의 태그 파일) 를 수정하고 싶습니다.
- let b:fugitive_ignore_submodule = 1로 설정된 경우에만 다음을 수행합니다.
if expand('%:p:h') =~# '/MyImportantProject'
    let b:fugitive_ignore_submodule = 0
en
  • 지원이 더 필요합니다.레이블 파일
  • 토론 #14

    우선, 나는 너희들에게 어떤 실패도 절대적인 거래 파괴자라고 말할 수 있다.정적 검색 루트에 대한 정확한 알고리즘을 찾아내면 VimL에 도움을 줄 수 있습니다.

    토론 #15

    그럼 이건 어때?
    1. setglobal tags=./tags; 디렉터리 차원 구조에 정확하게 들어간 것 같다.
    2. Git 디렉토리가 아닌 프로젝트 루트에 태그를 생성합니다.
    3. 전체 기능을 삭제합니다.
    이것은 파일 형식에 특정한 버전을 해결할 수 없지만, Git에 대해 아무것도 모르는 다른 플러그인으로 처리할 수 있다고 상상할 수 있다.

    토론 #16

    나는 이 기능을 포기하기로 결정했다.

    좋은 웹페이지 즐겨찾기