This commit is contained in:
Joey Hess 2013-08-09 12:22:21 -04:00
commit 492ffaa9a1
11 changed files with 329 additions and 51 deletions

View file

@ -0,0 +1,63 @@
Hi,
I already have told about that in a comment here <http://git-annex.branchable.com/bugs/submodule_path_problem/#comment-e86330d15b714a41a07b6548fbc79bb2>, but I am not sure it will be seen.
Then here is an official bug report.
### Please describe the problem.
I have a problem with submodules when the git repository is not a submodule everywhere.
For instance, if A is a git annexed repository and B another git repository. If B adds A as submodules. The symlinks added in A as submodule won't work in the original A.
### What steps will reproduce the problem?
# creating the master repository
mkdir annex_master
cd annex_master/
git init
# hack: adding a file to create the master branch
touch start
git add start
git commit -m "start"
cd ..
# create another repository
mkdir annex_sub
cd annex_sub/
git init
# hack: adding a file to create the master branch
touch start
git add start
git commit -m "start"
# it is a annexed repository
git annex init sub
# add the other repository as submodule of the master one
cd ../annex_master/
git submodule add ../annex_sub/ module
cd module/
git annex init sub_module
git annex sync origin
# add an annexed file
echo test > test
git annex add
git annex sync
# go back to the origin repository
cd ../../annex_sub/
git annex sync
ls -l
This returns test -> ../.git/modules/module/annex/objects/w8/pv/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2
Actually, the file committed is correct. But the fact it points to '../.git/modules/module/...' makes the link work only if the repository is also a submodule and if this submodule is also located in the modules folder in the parent git repository.
I tried playing with making the repository direct and then indirect, hoping that would fix the symlinks, but it did not work.
### What version of git-annex are you using? On what operating system?
$ git-annex version
git-annex version: 4.20130802
...
$ git --version
git version 1.8.3.2
$ uname -a
Linux konixwork 3.9-1-amd64 #1 SMP Debian 3.9.8-1 x86_64 GNU/Linux
### Please provide any additional information below.

View file

@ -0,0 +1,67 @@
[[!comment format=mdwn
username="konubinix"
ip="82.243.233.186"
subject="Git annexed files symlink are wrong when submodule is not in the same path "
date="2013-08-08T06:36:10Z"
content="""
Hi,
First, thanks for the great tool that is git-annex!
I have a problem with submodules when the git repository is not a submodule everywhere.
$ git-annex version
git-annex version: 4.20130802
...
$ git --version
git version 1.8.3.2
I try to have a repository has a submodule of another.
# creating the master repository
mkdir annex_master
cd annex_master/
git init
# hack: adding a file to create the master branch
touch start
git add start
git commit -m \"start\"
cd ..
# create another repository
mkdir annex_sub
cd annex_sub/
git init
# hack: adding a file to create the master branch
touch start
git add start
git commit -m \"start\"
# it is a annexed repository
git annex init sub
# add the other repository as submodule of the master one
cd ../annex_master/
git submodule add ../annex_sub/ module
cd module/
git annex init sub_module
git annex sync origin
# add an annexed file
echo test > test
git annex add
git annex sync
# go back to the origin repository
cd ../../annex_sub/
git annex sync
ls -l
This returns
test -> ../.git/modules/module/annex/objects/w8/pv/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2
Actually, the file committed is correct. But the fact it points to '../.git/modules/module/...' makes the link work only if the repository is also a submodule and if this submodule is also located in the modules folder in the parent git repository.
I would expect, since this repository is not an annex:
test -> .git/annex/objects/w8/pv/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2/SHA256E-s5--f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2
Do you think that is possible?
Thanks.
"""]]

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawnXybLxkPMYpP3yw4b_I6IdC3cKTD-xEdU"
nickname="Matt"
subject="comment 2"
date="2013-08-08T08:33:32Z"
content="""
Hi, I've sorted this now. The IP address of my laptop had changed on the local network. Fixing it then let the new fix fully work and the in-progress status of the bad repo went away.
Is it right that in the UI I don't see the local LAN configured branch (which I setup for speed) - it all seems to come under the jabber account now and makes an appropriate choice?
"""]]

View file

@ -0,0 +1,12 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawniayrgSdVLUc3c6bf93VbO-_HT4hzxmyo"
nickname="Tobias"
subject="comment 3"
date="2013-08-08T12:22:28Z"
content="""
I also see `unfinished repository` in the assistant, but only at git remotes which don't have git-annex installed (f.e. gitlab). annex-ignore is set to true: `git config remote.gitlab.annex-ignore true`.
Clicking on `check status` says `Setting up this repository seems to have stalled! Make sure the remote system is available and retry`
git-annex version: 4.20130802-g1452ac3
"""]]