This is my submodule redmine_dashboard config file:
[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 = [email protected]:ebc/redmine_dashboard.git
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal
geometry = 841x391+-8+43 187 177
worktree = /Users/daniel/redmine/vendor/plugins/redmine_dashboard
worktree = /home/daniel/redmine/vendor/plugins/redmine_dashboard
Can I change this absolute path for a relative? Something like:
worktree = ../../vendor/plugins/redmine_dashboard
In order to add a Git submodule, use the “git submodule add” command and specify the URL of the Git remote repository to be included as a submodule. When adding a Git submodule, your submodule will be staged. As a consequence, you will need to commit your submodule by using the “git commit” command.
A submodule can be located anywhere in a parent Git repository's working directory and is configured via a . gitmodules file located at the root of the parent repository. This file contains which paths are submodules and what URL should be used when cloning and fetching for that submodule.
It is stored in Git's object database directly. The tree object for the directory where the submodule lives will have an entry for the submodule's commit (this is the so-called "gitlink").
Yes, you should be able to update the config file with a relative path. You should also update the worktree dir in the .git
file in the submodule root to be a relative path back to that module.
I believe this is fixed in (at least) the most current version of git (1.7.10.1). I can't seem to find a changelog, so I have no idea when it got fixed. I was able to have git fix the issue by deleting both the submodule and the folder in the .git/modules
folder and then redoing git submodule init
and git submodule update
.
Note that the git config
man page mentions:
core.worktree
Set the path to the root of the work tree. This can be overridden by the
GIT_WORK_TREE
environment variable and the--work-tree
command line option.
It can be an absolute path or a relative path to the.git
directory, either specified by--git-dir
orGIT_DIR
, or automatically discovered.
If--git-dir
orGIT_DIR
are specified but none of--work-tree
,GIT_WORK_TREE
andcore.worktree
is specified, the current working directory is regarded as the root of the work tree.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With