Comments (15)
actually workaround for testing would be to clone that submodule into another temp directory -- then annex works properly
from datalad.
Due to the way git submodules work, if you intend to use a git-annex
repository as a submodule, you can only use it as a submodule, and it
has to always be located in the same place relative to its parent
module.
I do not see a way around this. (Other than using direct mode.)
see shy jo
from datalad.
ah right -- just stoke me that indeed if repository is initialized as an existing submodule (not added anew) its .git is just a file containing a pointer to "upstairs" .git/ directory ... lame :-/ And the only way around this was if annex was not hidden under .git/annex but rather was an independent directory in the root of the repository (e.g. as .annex).
So is important to keep it in mind as a limitation of git-annex then (existing independent annex'ed repos can't be used as submodules), heh heh
from datalad.
@joeyh but how much git-annex relies on hardcoded .git/annex path? ;) i.e. may be some time there could be an option to initialize it outside of the .git/? ;)
from datalad.
Even though I have marked it as 'wontfix' for now: I have initiated a new milestone (Git-annex: big refactoring 1) where we could collate those issues we identified, you agree that they are worth tackling, but it would require a massive refactoring of annex code/structure. For now I have placed there #32 since you are already dealing with it somewhat, and it might be worth moving this #44 there?
from datalad.
Yaroslav Halchenko wrote:
ah right -- just stoke me that indeed if repository is initialized as an
existing submodule (not added anew) its .git is just a file containing a
pointer to "upstairs" .git/ directory ... lame :-/
It might work to replace the "gitlink" file with a symlink.
see shy jo
from datalad.
replacing .git with a symlink sounds like begging for a trouble ;) but I could be proven wrong (that git folks envisioned this crippled .git file as a cross-platform symlink replacement and otherwise test proper git functioning whenever .git is a symlink to somewhere high up ;))
from datalad.
BTW -- in #40 we were considering submodules to mitigate large collections... with #44 I guess it wouldn't be the best option really since would disallow dealing with a particular subset of annexes
from datalad.
(My email reply was rejected by github for some reason. Repost.)
replacing .git with a symlink sounds like begging for a trouble ;)
I tried it, and it seems to work ok, at least for the limited number of
things I know to do with submodules. Note that after converting .git to
a symlink, I had to edit .git/config and remove the core.worktree
setting.
See:
http://git-annex.branchable.com/bugs/Git_annexed_files_symlink_are_wrong_when_su
bmodule_is_not_in_the_same_path/#comment-8eeb2ec8891cf95e9d4e7623000299e4
BTW -- in #40 we were considering submodules to mitigate large collections...
with #44 I guess it wouldn't be the best option really since would disallow
dealing with a particular subset of annexes
It would be ok using the above approach, a submodule then uses the same
symlink paths as does a regular repository.
from datalad.
I've added submodule support to git-annex
http://git-annex.branchable.com/submodules/
Still needs testing, and it's known to not work in FAT or Windows yet,
although I think I can get it working in those situations too.
see shy jo
from datalad.
cool, thank you @joeyh . tested with a fresh build of git-annex(avail from neurodebian -devel now for jessie/sid) and indeed works smoothly. I will wait for your go on windows/OSX to consider it resolved fully. Cheers!
from datalad.
Yaroslav Halchenko wrote:
cool, thank you @joeyh . tested with a fresh build of git-annex(avail from
neurodebian -devel now for jessie/sid) and indeed works smoothly. I will wait
for your go on windows/OSX to consider it resolved fully. Cheers!
Submodules should work portably since cf903d5a3c42afd569ff0c1a2202c0e0168b6f8f
see shy jo
from datalad.
splendid. thank you @joeyh. I will close it then
from datalad.
not yet fully resolved, thus will reopen for now
http://git-annex.branchable.com/submodules/#comment-9d969fcaa6b5276b21338905d55c7cd7
from datalad.
Yaroslav Halchenko wrote:
not yet fully resolved, thus will reopen for now
http://git-annex.branchable.com/submodules/#
comment-9d969fcaa6b5276b21338905d55c7cd7
I'm sorry, but as a bug report, this is completely incoherent.
Happy to help if I can get a textual description of how to reproduce
the problem, reported as a bug and not an image in a forum comment.
(Also, why reopen a bug report? Bug numbers are not a scarce resource,
while time to read through a bunch of messages to get to the
problem-de-jour that is somehow releated to the original bug report is a
scarce resource.)
see shy jo
from datalad.
Related Issues (20)
- parallel get from datalad archive gives error
- Brainstorming: path to DataLad v2? HOT 1
- Install datalad by easybuild HOT 1
- datalad update fails randomly with error: "cannot lock ref 'refs/remotes/origin/master'" and ".... git-annex" HOT 1
- Github tarball checksums changed HOT 2
- Different HPC systems and users HOT 2
- Add ability to limit get (and thus install) --recursive installation of subdatasets
- Edge case: Large datalad saves with tight ulimits on many-core machines can fail
- 1-letter shortcut for `--reobtain-data` in datalad-update HOT 1
- `str(GitTransportRI)` broken, and with it `_get_flexible_source_candidates()`
- Boto dependency HOT 1
- Extension command line argument in conflict with `datalad` level argument HOT 3
- "Convert" .travis.yml into a github workflow
- DataLad extensions are not properly registered on Python 3.12 HOT 1
- FOI: "generic" analog to WTF?
- Datalad get can't find URL despite registering via addurls (and I can see the URL with git annex whereis) HOT 21
- `create_sibling_ria` does not release `IO` handler resources properly
- MacOS tests fail to install Python 3.7 (which is EOL anyway) HOT 2
- Unable to get HCP FC datalad data in a pyenv with Python 3.12.2 ["you need 'boto' dependency which seems to be missing"] HOT 3
- Testing of authenticated S3 interactions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from datalad.