Please describe the problem.
in v6 mode -- Result depends on having a good sleep before running 'git annex add'.
Without sleep, git annex manages first to stage file to be committed into git, but then also modifies it to be added into annex (this is not shown above -- just inspect that repository obtained without having any sleep)
I guess relates to http://git-annex.branchable.com/bugs/Too_difficult_if_not_impossible_to_explicitly_add47keep_file_under_git40not_annex41in_v6_without_employing_.gitattributes/
What steps will reproduce the problem?
Run http://www.onerussian.com/tmp/ga-3.sh twice: once giving 0 secs to sleep, and then 1 (or about 0.3 might work as well)
What version of git-annex are you using? On what operating system?
6.20170209+gitg16be7b5cc-1~ndall+1
Please provide any additional information below.
if we just proceed with the script (init, add, status) without any delays -- git annex status would report it
$> ./ga-3.sh 0
+ s=0
++ mktemp -d
+ d=/home/yoh/.tmp/tmp.d6g0E7scxt
+ echo 'directory: /home/yoh/.tmp/tmp.d6g0E7scxt'
directory: /home/yoh/.tmp/tmp.d6g0E7scxt
+ cd /home/yoh/.tmp/tmp.d6g0E7scxt
+ git init
Initialized empty Git repository in /tmp/tmp.d6g0E7scxt/.git/
+ git annex init --version=6
init ok
(recording state in git...)
+ sed -i -e 's,pre-commit ,pre-commit --debug ,g' .git/hooks/pre-commit
+ echo 'I: creating a file'
I: creating a file
+ echo whatever
+ sleep 0
+ git -c annex.largefiles=nothing annex --debug add file5
[2017-02-17 10:19:48.91932971] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","ls-files","--others","--exclude-standard","-z","--","file5"]
add file5 (non-large file; adding content to git repository) ok
[2017-02-17 10:19:48.923428344] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","ls-files","--modified","-z","--","file5"]
(recording state in git...)
[2017-02-17 10:19:48.927922289] feed: xargs ["-0","git","--git-dir=.git","--work-tree=.","--literal-pathspecs","add","--"]
[2017-02-17 10:19:48.956812867] process done ExitSuccess
+ git annex status
M file5
And if we wait just a bit before running add -- we would get it reported added
hopa:~/.tmp
$> ./ga-3.sh 1
+ s=1
++ mktemp -d
+ d=/home/yoh/.tmp/tmp.4I7ym6dSx2
+ echo 'directory: /home/yoh/.tmp/tmp.4I7ym6dSx2'
directory: /home/yoh/.tmp/tmp.4I7ym6dSx2
+ cd /home/yoh/.tmp/tmp.4I7ym6dSx2
+ git init
Initialized empty Git repository in /tmp/tmp.4I7ym6dSx2/.git/
+ git annex init --version=6
init ok
(recording state in git...)
+ sed -i -e 's,pre-commit ,pre-commit --debug ,g' .git/hooks/pre-commit
+ echo 'I: creating a file'
I: creating a file
+ echo whatever
+ sleep 1
+ git -c annex.largefiles=nothing annex --debug add file5
[2017-02-17 10:19:52.529445464] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","ls-files","--others","--exclude-standard","-z","--","file5"]
add file5 (non-large file; adding content to git repository) ok
[2017-02-17 10:19:52.533532166] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","ls-files","--modified","-z","--","file5"]
(recording state in git...)
[2017-02-17 10:19:52.537789158] feed: xargs ["-0","git","--git-dir=.git","--work-tree=.","--literal-pathspecs","add","--"]
[2017-02-17 10:19:52.567222419] process done ExitSuccess
+ git annex status
A file5
I just want to point out, that this is most likely related to this one: http://git-annex.branchable.com/bugs/Too_difficult_if_not_impossible_to_explicitly_add__47__keep_file_under_git___40__not_annex__41___in_v6_without_employing_.gitattributes/
Generally, we get into trouble with files in git in v6 repos everytime. Pretty much the same thing happens, if we clone an annex repo with a file directly in git and then
git annex init --version=6
that clone. In that case, I can't avoid it with such a delay. However, all of this doesn't happen if I do it manually via single commands in the shell, but does, if it's done in a script. In some way, that smudge filter seems run out of sync with the command call triggering it.ben