Конфигурация абсолютного пути к рабочему дереву подмодуля - PullRequest
12 голосов
/ 19 января 2012

Это мой подмодуль redmine_dashboard файл конфигурации:

Файл конфигурации подмодуля:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    worktree = /Users/daniel/redmine/vendor/plugins/redmine_dashboard
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github.com:ebc/redmine_dashboard.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 841x391+-8+43 187 177

Mac

worktree = /Users/daniel/redmine/vendor/plugins/redmine_dashboard

Linux

worktree = /home/daniel/redmine/vendor/plugins/redmine_dashboard

Issue

Могу ли я изменить этот абсолютный путь для родственника?Что-то вроде:

worktree = ../../vendor/plugins/redmine_dashboard

Ответы [ 3 ]

7 голосов
/ 09 мая 2012

Да, вы должны иметь возможность обновить файл конфигурации с относительным путем.Вам также следует обновить каталог рабочего дерева в файле .git в корне субмодуля, чтобы он был относительным путем к этому модулю.

Я считаю, что это исправлено (по крайней мере) в самой последней версии git1.7.10.1).Кажется, я не могу найти журнал изменений, поэтому понятия не имею, когда он будет исправлен.Я смог сделать git исправить проблему, удалив подмодуль и папку в папке .git/modules, а затем повторив действия git submodule init и git submodule update.

3 голосов
/ 19 января 2012

Обратите внимание, что на справочной странице git config упоминается:

core.worktree

Установите путь к корню рабочего дерева. Это может быть переопределено переменной среды GIT_WORK_TREE и параметром командной строки --work-tree.
Это может быть абсолютный путь или относительный путь к каталогу .git , либо указанный в --git-dir или GIT_DIR, либо обнаруженный автоматически. Если указаны --git-dir или GIT_DIR, но не указано ни одного из --work-tree, GIT_WORK_TREE и core.worktree, текущий рабочий каталог считается корнем рабочего дерева.

2 голосов
/ 19 января 2012

Почему вы вообще настраиваете worktree?По умолчанию рабочее дерево - это то место, откуда вы запускаете команды, где находится каталог .git.См. этот вопрос для получения дополнительной информации.

...