summaryrefslogtreecommitdiff
path: root/doc/bugs/__96__git_annex_add__96___changes_mtime_if_symlinks_are_fixed_in_the_background.mdwn
blob: eba11aa2dca52a0ee86436bac561864f583db706 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
### Please describe the problem.

When `git annex add` is run on dangling symlinks which point to the annex, the pre-commit hook `git annex pre-commit .` is run which, in turn, runs `git annex fix`.

During this fix, the mtime of the symlink changes. I assume the symlink is actually deleted and re-created in the background which would explain this behavior.

### What steps will reproduce the problem?

[[!format sh """
# manual import of annexed data into new annex
% mkdir repo1.annex
% cd !$
% git init; git annex init
% echo hi > foo
% git annex add foo; git commit -m bar
% mkdir ../repo2
% cd !$
% git init; git annex init
% mkdir .git/annex/objects/zQ/MQ/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4/
% cp -ax ../repo1/.git/annex/objects/zQ/MQ/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4 .git/annex/objects/zQ/MQ/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4
% mkdir subdirectory
% cd !$
% cp -ax ../../repo1.annex/foo .
% ls -l foo
total 4
lrwxrwxrwx 1 richih richih 194 Jul 11 12:20 foo -> .git/annex/objects/zQ/MQ/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4
% git annex fix # this does nothing
% ls -l foo
total 4
lrwxrwxrwx 1 richih richih 194 Jul 11 12:20 foo -> ..git/annex/objects/zQ/MQ/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4
% git annex add foo
add foo ok
(Recording state in git...)
% ls -l foo
total 4
lrwxrwxrwx 1 richih richih 197 Jul 11 12:23 foo -> ../.git/annex/objects/zQ/MQ/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4/SHA256E-s3--98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4
%

"""]]


### What version of git-annex are you using? On what operating system?

git-annex 4.20130709 on Debian unstable i386 and x64.

### Please provide any additional information below.

As noted in [[todo/wishlist:___96__git_annex_import__96___--_An_easy_way_to_get_data_into_an_annex/#comment-e0ea68b5f84cf4130001ad34e9f3b2ff]], `git annex import` does not seem to work on other repos which is why I tried to build this by hand. This works fine and retains mtime as long as I don't need to change the relative depth the symlinks.
I think that the issue above should be fixed in and as of itself, though.

> [[fixed|done]] --[[Joey]]