code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
 nickname="dxtrish"
 subject="comment 11"
 date="2014-02-08T19:18:17Z"
 content="""
I honestly have no idea why that move works because

    % ls -lh /usr/lib|grep -E '(gsasl|xml2|gnutls|idn)'

returns nothing. But couldn't those symbols already be in the other libraries considering, from what I've read at least, haskell stuff are statically compiled by default?

Anyway, you are completely right that this happened when I try to use XMPP. The reason I was looking in the wrong place to begin with was because the webapp spit out the error messsage. I have redirected my attention to the network library and the xmpp library.

But I might have found something interesting in the network library. Keep in mind that I just learned a little today, so do correct me if I'm wrong.

Looking at http://hackage.haskell.org/package/network-2.2.1.8/docs/src/Network-Socket.html I found:

    setSocketOption :: Socket
                    -> SocketOption -- Option Name
                    -> Int          -- Option Value
                    -> IO ()
    setSocketOption (MkSocket s _ _ _ _) so v = do
       with (fromIntegral v) $ \ptr_v -> do
       throwErrnoIfMinus1_ \"setSocketOption\" $
           c_setsockopt s (socketOptLevel so) (packSocketOption so) ptr_v
              (fromIntegral (sizeOf v))
       return ()

Everything here looks good. So I decided to take a look at SocketOption, socketOptLevel and packSocketOption.

    data SocketOption
        = DummySocketOption__
        | Debug         {- SO_DEBUG     -}
        | ReuseAddr     {- SO_REUSEADDR -}
        | Type          {- SO_TYPE      -}
        | SoError       {- SO_ERROR     -}
        | DontRoute     {- SO_DONTROUTE -}
        | Broadcast     {- SO_BROADCAST -}
        | SendBuffer    {- SO_SNDBUF    -}
        | RecvBuffer    {- SO_RCVBUF    -}
        | KeepAlive     {- SO_KEEPALIVE -}
        | OOBInline     {- SO_OOBINLINE -}
        | TimeToLive    {- IP_TTL       -}
        | MaxSegment    {- TCP_MAXSEG   -}
        | NoDelay       {- TCP_NODELAY  -}
        | Linger        {- SO_LINGER    -}
        | RecvLowWater  {- SO_RCVLOWAT  -}
        | SendLowWater  {- SO_SNDLOWAT  -}
        | RecvTimeOut   {- SO_RCVTIMEO  -}
        | SendTimeOut   {- SO_SNDTIMEO  -}

    socketOptLevel :: SocketOption -> CInt
    socketOptLevel so =
      case so of
        TimeToLive   -> 0
        MaxSegment   -> 6
        NoDelay      -> 6
        _            -> 1

    packSocketOption :: SocketOption -> CInt
    packSocketOption so =
      case so of
        Debug         -> 1
        ReuseAddr     -> 2
        Type          -> 3
        SoError       -> 4
        DontRoute     -> 5
        Broadcast     -> 6
        SendBuffer    -> 7
        RecvBuffer    -> 8
        KeepAlive     -> 9
        OOBInline     -> 10
        TimeToLive    -> 2
        MaxSegment    -> 2
        NoDelay       -> 1
        Linger	  -> 13
        RecvLowWater  -> 18
        SendLowWater  -> 19
        RecvTimeOut   -> 20
        SendTimeOut   -> 21

Everything looks good so I thought long and hard about this. Then, by chance, I just looked at the man page for setsockopt() and it mentioned SOL_SOCKET and I was like \"Hmm...\"

    % grep -R SOL_SOCKET /usr/include
    /usr/include/openssl/e_os.h:#define ioctlsocket(a,b,c)            setsockopt((a),SOL_SOCKET,(b),(c),sizeof(*(c)))
    /usr/include/sys/socket.h:#define       SOL_SOCKET      0xffff          /* options for socket level */
    /usr/include/sys/socket.h:/* Read using getsockopt() with SOL_SOCKET, SO_PEERCRED */

Wat?

    #define SOL_SOCKET 0xffff

Going back to the Haskell code above I realized that SetSocketOption will NEVER feed 0xffff as level to setsockopt() because socketOptLevel returns 1 unless optname is TimeToLive, MaxSegment or NoDelay.

Am I way off?
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.163"
 subject="comment 12"
 date="2014-02-08T20:03:30Z"
 content="""
WRT haskell static linking, AFAIK that only affects haskell libraries. If they in turn link with C libs, the linking is still dynamic. At least this is the case on both Linux and the limited BSDs I've used it on. Have no OpenBSD experience.

`SOL_SOCKET` is 1 on linux, so you may have the culprit.

However.. That's a really old version of network! 2.2.1.8 is from 2010. In a more current 2.4.x version, packSocketOption uses the `SOL_SOCKET` value and not 1, so should work AFAICS.
"""]]

repo_name: kakafarm/git

license: unknown


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.163"
 subject="comment 13"
 date="2014-02-08T20:12:12Z"
 content="""
Does your binary end up dynamically linked to libxml2 etc? If not, it certianly seems plausible that the haskell libs statically linked with the C libs, and then at binary link time it tried to redundantly link with the libs again and failed. If this is the case, it seems it would probably be a bug in ghc. You can use `cabal build --ghc-options=-v` to get a look at how the linker is run.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
 nickname="dxtrish"
 subject="comment 14"
 date="2014-02-08T20:29:46Z"
 content="""
Sigh.. Ofcourse it was an old version. It never occurred to me to check that. I was just Googling around and stumbled over that page.
Do you have any pointers on how I would debug this further?

Regarding the linking; I haven't checked it any further actually. I'm planning on investigating that further once I can get this error sorted out. But my hypothesis is that it's all statically linked all the way through, like I said. That would also explain those error messages I got during linking before.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.163"
 subject="comment 15"
 date="2014-02-08T20:56:10Z"
 content="""
I think you need to find which calls to setSocketOption are failing and/or what value is causing the crash. It's a bit of a pain to get a backtrace on error (would need to build everything with profiling enabled and run git-annex with +RTS -xc options). Probably simplest to modify the setSocketOption code:

[[!format patch \"\"\"
diff --git a/Network/Socket.hsc b/Network/Socket.hsc
index 2fe62ee..0c66432 100644
--- a/Network/Socket.hsc
+++ b/Network/Socket.hsc
@@ -963,7 +963,7 @@ setSocketOption :: Socket
 setSocketOption (MkSocket s _ _ _ _) so v = do
    (level, opt) <- packSocketOption' \"setSocketOption\" so
    with (fromIntegral v) $ \ptr_v -> do
-   throwSocketErrorIfMinus1_ \"setSocketOption\" $
+   throwSocketErrorIfMinus1_ (\"setSocketOption \" ++ show so ++ \" \" ++ show v) $
        c_setsockopt s level opt ptr_v
           (fromIntegral (sizeOf (undefined :: CInt)))
    return ()
\"\"\"]]

Which should make it print out a quite nice symbolic name of the option being used on failure, which will make it easy to find any call sites and more importantly, determine what's wrong with that option.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
 nickname="dxtrish"
 subject="comment 16"
 date="2014-02-08T21:08:38Z"
 content="""
Thanks for that code snippet! I'll try it out within the next few minutes.

Also, how would I go about rebuilding everything with profiling support? I'm doing this testing in a virtual machine so I can always start over from scratch.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.163"
 subject="comment 17"
 date="2014-02-08T21:23:02Z"
 content="""
Blow away ~/.ghc and ~/.cabal; cabal update; put `library-profiling: True` in ~/.cabal/config; and reinstall everything.

Note that you may need to first build ghc's own bundled libraries with profiling support, if your ghc installation does not already include them. I don't know how to do that since on debian I can just `apt-get install ghc-prof`. If that's needed, ghc will tell you and refuse to build stuff with profiling.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
 nickname="dxtrish"
 subject="comment 18"
 date="2014-02-08T23:25:29Z"
 content="""
I applied your patch and rebuilt. I even tried doing it from scratch just to get it right.

I have three news:

1) I got it completely working in a virtual machine

2) On my actual (physical) openbsd machine it still isn't working, even though they're almost identical. The only difference is that the physical one also has IPv6 connectivity, while the virtual machine doesn't. Could that be it? I don't know yet, although I'm about to try it.

3) Your patch did not help. It still didn't print out anything more useful, suggesting that it in fact isn't that function that is throwing the error. [This](http://i.imgur.com/tmBiseE.png) is what the actual error looks like and shows up after I enter the jabber account details.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.172"
 subject="comment 19"
 date="2014-02-09T02:13:20Z"
 content="""
I'll bet you didn't rebuild all the libraries that depend on network. (Which all that static linking makes necessary...)

IPv6 was my first guess; see http://git-annex.branchable.com/bugs/More_build_oddities_under_OpenBSD/#comment-84ee81cd162d22283fcccc1a41c8f8b3
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="71.80.94.56"
 subject="comment 1"
 date="2014-02-07T18:49:38Z"
 content="""
This is definitely not an issue in git-annex's code. Two C libraries are exporting the same symbol (gnulib might be the other one, or it could be part of the OpenBSD libc as it's some deprecated POSIX symbol, I don't know) and this is simply not apparent until the linker tries to make a binary linking with both.

I have dealt with a similar issue on Android by modifying C libraries to not export colliding symbols. See:
<https://github.com/joeyh/ghc-android/blob/stable-ghc-snapshot/patches/gsasl-avoid-memxor-conflict.patch>
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.172"
 subject="comment 20"
 date="2014-02-20T20:26:03Z"
 content="""
Any further luck on this?

It would be nice if a page on openbsd could be added to the install page documenting what is needed to get it to build.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
 nickname="dxtrish"
 subject="comment 2"
 date="2014-02-07T19:38:14Z"
 content="""
I do realize that it's not a fault in git-annex' code. I'm sorry if it was a stupid idea to post it here, but I was thinking if there exists some kind of workaround one could implement in the build system. I mean.. This isn't the first time someone compiles a program with libidn, gettext and/or gnutls (According to 'grep -R c_isascii /usr')
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
 nickname="dxtrish"
 subject="comment 3"
 date="2014-02-07T20:57:54Z"
 content="""
I have researched this a little more and I am not entirely convinced it is an actual conflict anywhere. I did, in fact, compile a patched version of libidn WITHOUT the c_isascii symbols and.. It suddenly started complaining about even MORE symbols (stringprep_utf8_to_unichar).
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
 nickname="dxtrish"
 subject="comment 4"
 date="2014-02-07T22:12:43Z"
 content="""
Couldn't it be possible that something is passed twice on the command line, like that message says could be the reason? Because I have inspected my systems and the only thing I can find that even contains such a string (stringprep_utf8_to_unichar) is libidn so there shouldn't be any conflicts.

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
 nickname="dxtrish"
 subject="comment 5"
 date="2014-02-08T14:46:10Z"
 content="""
Okay, so I did work around this with an ugly hack (I'm not even sure it will work properly) so I now have XMPP support, according to git-annex.

But.. When I try to play around with XMPP I get:

    setSocketOption: invalid argument (Invalid argument)
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
 nickname="dxtrish"
 subject="comment 6"
 date="2014-02-08T17:23:54Z"
 content="""
Googling around I found [this](http://lpaste.net/77947) codesnippet that suggests setSocketOption is broken under OpenBSD
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.163"
 subject="comment 7"
 date="2014-02-08T17:42:52Z"
 content="""
What was the ugly hack that got it to link?

I've seen setSocketOption fail on other OS's for various portability reasons. The haskell library that is responsible for this is <http://hackage.haskell.org/package/network>, and you can find several setSocketOption calls in it. I've had good luck ifdefing those out when they don't work.

Here's a patch where I disable the IPv6Only setting on Android (amoung other unrelated porting) <http://source.git-annex.branchable.com/?p=source.git;a=blob;f=standalone/android/haskell-patches/network_2.4.1.0_0001-android-port-fixes.patch;h=66c0de5448bacaf7449db768b4d720870bbcf9c4;hb=HEAD>
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
 nickname="dxtrish"
 subject="comment 8"
 date="2014-02-08T18:13:33Z"
 content="""
What I did was to temporarily move away (or rename) the offending libs. What I essentially did was this:

    cabal configure
    cabal build
    sudo mv /usr/local/lib/lib{xml2,gnutls,gsasl,idn}.a /tmp
    cabal install
    sudo mv /tmp/lib{xml2,gnutls,gsasl,idn}.a /usr/local/lib

but I've also had to patch network-info. I've contacted the maintainer of that package but I haven't received anything. I'm considering creating an actual fork with my changes but that would almost seem kind of silly as I don't know *ANY* haskell.. But I am looking at the Haskell wiki as I'm typing this so I can see what I'm looking at :).

Won't break anything by not setting SO_REUSEADDR? I suspect you're setting it for a reason?
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.163"
 subject="comment 9"
 date="2014-02-08T18:29:41Z"
 content="""
So you moved away libs in /usr/local to expose usable ones in /usr?

I've had luck before sending the network-info mantainer pull requests: <https://github.com/jystic/network-info/issues/3>

git-annex does set ReuseAddr in one place; in Utility/Webapp.hs. The only time that would have a benefit would be when using `git annex webapp --listen=address:port` and starting and restarting the webapp. Normally the webapp chooses a random free port so it shouldn't need that.
"""]]


code:
### Please describe the problem.

On indirect repos on OS X, when a symlink is moved asisstant does not pick it up it. Even though assistant syncs after delete/move changes are not committed. git annex status returns ?? for the moved files. when I run git annex add on the files it says it added them but instead they still show up as ??. the only way to solve the problem is to manually restart the daemon which commits them.

### What steps will reproduce the problem?

Moving an annex file.

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

5.20140703 g3cfcd54

### Please provide any additional information below.

[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log

# End of transcript or log.
"""]]

[[!tag moreinfo]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.2"
 subject="unable to reproduce, please provide transcript"
 date="2014-07-11T19:36:37Z"
 content="""
I have tried to reproduce this problem on OSX, but it seems to work fine:

<pre>
oberon:xx joeyh$ git annex assistant
oberon:xx joeyh$ date > foo
oberon:xx joeyh$ git log --stat
commit 93a208c6aa0080e70a636181606f53af5f2c4441
Author: Joey Hess <joeyh@oberon.local.tam-lin.net>
Date:   Fri Jul 11 15:33:50 2014 -0400

 foo | 1 +
 1 file changed, 1 insertion(+)
oberon:xx joeyh$ mv foo bar
oberon:xx joeyh$ git log --stat
commit 495592b2977ee96029db99761d20396577ff3c51
Author: Joey Hess <joeyh@oberon.local.tam-lin.net>
Date:   Fri Jul 11 15:33:54 2014 -0400

 bar | 1 +
 foo | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

commit 93a208c6aa0080e70a636181606f53af5f2c4441
Author: Joey Hess <joeyh@oberon.local.tam-lin.net>
Date:   Fri Jul 11 15:33:50 2014 -0400

 foo | 1 +
 1 file changed, 1 insertion(+)
oberon:xx joeyh$ git annex status
oberon:xx joeyh$
</pre>

> when I run git annex add on the files it says it added them but instead they still show up as ??

This must be the root of whatever the problem is, so please provide a transcript of you doing that.
"""]]


code:
[[!comment format=mdwn
 username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
 nickname="Hamza"
 subject="comment 2"
 date="2014-07-12T10:00:59Z"
 content="""
[[!format sh \"\"\"
host annex/(master) $ ls -a Staging/Rise*
Staging/Rise and Fall of the Berlin Wall - History Channel.mkv
host annex/(master) $ mv Staging/Rise\ and\ Fall\ of\ the\ Berlin\ Wall\ -\ History\ Channel.mkv Documentary/
host annex/(master) $ git status
On branch master
Untracked files:
  (use \"git add <file>...\" to include in what will be committed)

        Documentary/Rise and Fall of the Berlin Wall - History Channel.mkv

nothing added to commit but untracked files present (use \"git add\" to track)
host annex/(master) $ ga status
D Documentary/Rise and Fall of the Berlin Wall - History Channel.mkv
host annex/(master) $ git annex add .
add Documentary/Rise and Fall of the Berlin Wall - History Channel.mkv ok
(Recording state in git...)
host annex/(master) $ ga status
D Documentary/Rise and Fall of the Berlin Wall - History Channel.mkv
host annex/(master) $ git annex sync
commit  ok
pull server
ok
host annex/(master) $ ga status
D Documentary/Rise and Fall of the Berlin Wall - History Channel.mkv
host annex/(master) $
\"\"\"]]

"""]]


code:
[[!comment format=mdwn
 username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
 nickname="Hamza"
 subject="comment 3"
 date="2014-07-12T10:03:07Z"
 content="""
BTW the mv operation is picked up by the assistant it start syncing immediately after mv but the symlink link is left dangling. I've also waited for the assistant to sync before readding the file.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.2"
 subject="comment 4"
 date="2014-07-14T20:15:07Z"
 content="""
Well, I don't see the \"??\" that you were talking about before in your transcript. I do not understand why the file's status shows as \"D\" which means it's deleted. What does `git ls-files` say? Does this stange behavior persist if you stop the assistant from running and re-run the same git-annex commands?
"""]]


code:
### Please describe the problem.
Files transferred from one repository to a standard remote by the assistant do not retain the original mtime

### What steps will reproduce the problem?
Create manually two repositories, in my case on two external drives directly connected to my box, with normal remotes pointing to each other.
Activate git annex assistant and synchronize some files from one to the other.

### What version of git-annex are you using? On what operating system?
Git annex version 5.20140610-g5ec8bcf on Ubuntu Linux 12.04

### Please provide any additional information below.
I've noticed how files synchronized from one repository to another do not retain the original mtime information.
Perhaps it's intended, but in my view retaining the time of modification of the object is essential.

> [[done]]; dup and/or out of scope, --[[Joey]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 1"
 date="2014-07-02T17:07:33Z"
 content="""
git makes no attempt to maintain mtimes etc, and neither does git-annex. There are open todo items. There is metastore, etc.
"""]]


code:
My local git index got corrupted and I needed to clone and annex get all data from my main repo.

Some files were never copied anywhere so I am stuck with symlinks to nowhere.

I tried to copy over the symlink with a copy of the actual file, which did not work. Trying to unlock, copying over the symlink, and relock did not work, either.

Then, I copied the annex object to the correct place in .git/annex/objects/..., set all modes, re-ran fsck and the file re-appeared.

Long story short, I think there should be a `git annex reinject $file` or similar which will take a file, either one replacing the symlink or with an arbitrary path, and put it into the correct place in the object store. Called normally, it should reject all reinjects where the checksum does not match. With --force, this should be overridden. For reasons of safety, WORM should always require --force.

> [[closing|done]], seems addressed --[[Joey]]


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 1"
 date="2011-04-03T01:46:16Z"
 content="""
Have you seen [[walkthrough/recover_data_from_lost+found]]? The method described there will also work in this scenario.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U"
 nickname="Richard"
 subject="comment 2"
 date="2011-04-03T09:00:17Z"
 content="""
I did not. Thanks :)

This still means that you can't re-inject a new version of a file unless you have the old one if you are using a SHA* backend, but that might be a corner case anyway.
"""]]


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 3"
 date="2011-05-14T16:28:36Z"
 content="""
To re-inject new content for a file, you really want to get a new key for the file. Otherwise, other repos that have the old file will never get the new content. So:

<pre>
git rm file
mv ~/newcontent file
git annex add file
</pre>
"""]]


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 4"
 date="2011-05-14T16:29:35Z"
 content="""
Now available as `git-annex reinject`.
"""]]


code:
### Please describe the problem, What steps will reproduce the problem?

    $ which git-annex
    ~/.local/bin/git-annex
    $ git help annex
    No manual entry for git-annex
    $ git annex --help
    No manual entry for git-annex

(either that or it display the manual of system-installed git-annex, not the locally installed one)

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

Fedora 20

`git-annex --version` doesn't work and the webapp tells me Version: 5.20131130-gc25be33

> [[fixed|done]] (OSX too) --[[Joey]]


code:
### Please describe the problem.

I get no such file errors when using WORM backend on files with a certain name. Doesn't like brackets?

Default backend is fine (see output below).

### What steps will reproduce the problem?

See additional info

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

git-annex version: 5.20140613-g5587055
On Windows 8.1
Tried with both Windows command prompt and Git Bash shell.

### Please provide any additional information below.

[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log

git config --add annex.backends WORM
git annex add extras

add extras/Extra Content - Reason Drum Takes/DT Key Map.pdf ok
add extras/Extra Content - Reason Drum Takes/DT Read Me.pdf ok
add extras/Extra Content - Reason Drum Takes/DT7 Rock - Love  (136).reason ok
add extras/Extra Content - Reason Drum Takes/DT7 Rock - Peace  (200).reason ok
add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G06.aif
git-annex: C:\Studio\.git\annex\objects\b43\d6d\WORM-s178174-m1363015489--extras%Extra Content - Reason Drum Takes%Kit S
amples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G06.aif\WORM-s178174-m1363015489--extras%Extra Content - Reason Drum Tak
es%Kit Samples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G06.aif.cache: openFile: does not exist (No such file or directo
ry)
failed
add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G09.aif
git-annex: C:\Studio\.git\annex\objects\e90\b5c\WORM-s199108-m1363015489--extras%Extra Content - Reason Drum Takes%Kit S
amples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G09.aif\WORM-s199108-m1363015489--extras%Extra Content - Reason Drum Tak
es%Kit Samples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G09.aif.cache: openFile: does not exist (No such file or directo
ry)
failed
add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G14.aif
git-annex: C:\Studio\.git\annex\objects\995\4e7\WORM-s201570-m1363015489--extras%Extra Content - Reason Drum Takes%Kit S
amples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G14.aif\WORM-s201570-m1363015489--extras%Extra Content - Reason Drum Tak
es%Kit Samples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G14.aif.cache: openFile: does not exist (No such file or directo
ry)
failed

git config --unset annex.backends
git annex add extras

add extras/Extra Content - Reason Drum Takes/DT Key Map.pdf ok
add extras/Extra Content - Reason Drum Takes/DT Read Me.pdf ok
add extras/Extra Content - Reason Drum Takes/DT7 Rock - Love  (136).reason ok
add extras/Extra Content - Reason Drum Takes/DT7 Rock - Peace  (200).reason ok
add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G06.aif ok
add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G09.aif ok
add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G14.aif ok

# End of transcript or log.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.55"
 subject="comment 1"
 date="2014-07-05T21:55:46Z"
 content="""
Hmm, the filename `WORM-s178174-m1363015489--extras%Extra\ Content\ -\ Reason\ Drum\ Takes%Kit\ Samples%1.\ Bass\ Drum\ mic\ ,40BD,41%DT6_BD_Bd_RG_R_G06.aif.cach` is a legal filename on FAT at least, dunno about NTFS..
"""]]


code:
### Please describe the problem.
There are a lot of differences in the behaviour of usual commands and commans using --all.
The specific problem I found was that "git annex fsck --all" will only checksum it seems and not report back numcopies failures.
Checking if objects/old versions have propagated is not possible without it or do I miss something.

(As additional note not sure if related. It seems that git annex fsck --all is running much faster in my tests 1/3 faster. Any reason for that? Bug related?)

### What steps will reproduce the problem?
compare "git annex fsck" vs "git annex fsck" (no numcopies check)

### What version of git-annex are you using? On what operating system?
git-annex version: 5.20140210-gd99db49
Linux (Ubuntu 13.10)

### Please provide any additional information below.

[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log

# End of transcript or log.
"""]]

> It's expected that --all (and --unused) make .gitattributes
> annex.numcopies settings be ignored, because with these options git-annex
> is operating on keys, it does not know or care what filename they're
> associated with, and so cannot look them up in .gitattributes. I have
> improved the documentation of .gitattributes files to mention this
> limitation.
>
> I also notice that fsck --all is not checking .git/config's
> annex.numcopies or the new global numcopies setting. It certianly makes
> sense for those numcopies settings to be paid attention to.
> [[fixed|done]] --[[Joey]]
>
> (--all is faster because it can quickly scan through .git/annex/objects
> to find everything, rather than looking at the symlink target of every
> file in the work tree.)


code:
[[!comment format=mdwn
 username="stp"
 ip="84.56.21.11"
 subject="Some suggestions"
 date="2014-02-20T21:22:21Z"
 content="""
So I think it should at least for --all look at the global numcopies setting. As this could be essential to prevent data-loss.
I agree that special working tree related numcopies don't need to be included.
"""]]


code:
### Please describe the problem.

git-annex assistant on Mac OSX 10.8.5 fails to download new repo files from SSH remote/rsync shared-encryption annex after initial startup.  The assistant does sync with the repo and create symlinks for new files, and file contents can manually be retrieved using 'git annex get $file' once the file is in the repository. However, assistant makes no subsequent attempt to download the new files until assistant is restarted.  Once restarted, assistant downloads all new files for which is previously only had symlinks.

git-annex whereis $file does not indicate that the files represented as symlinks are located on the Mac OSX clients in question until after files are manually retrieved or assistant is retarted and files are automatically downloaded, replacing the symlinks.

git-annex assistant on Mac OSX does not have problems uploading files to the remote as they are added.

git-annex 5.20140517.4 on Ubuntu 12.04 behaves as expected and downloads new files (with content) properly as they are added to the repo.

### What steps will reproduce the problem?

(all using git-annex webapp)

--create client repo on Mac OSX, direct mode (used two 10.8.5 machines)

--create client repo on Ubuntu, direct mode (used several 12.04 VMs)

--create repo (transfer mode) on VPS

--create shared encryption repo (backup mode) on same VPS

--add VPS transfer repo to each client (shared encryption repo appears and syncing is enabled for each client)

--create file in Mac OSX annex - file gets distributed to VPS backup repo and each linux system. Symlink is created on 2nd Mac OS X machine.

--create file in Ubuntu VM annex - file gets distributed to VPS backup repo and each linux system.  Symlink is created on both Mac OSX machines.

### What version of git-annex are you using? On what operating system?
git-annex version: 5.20140421 (installed using brew), Mac OSX 10.8.5

I tested 5.20140613 (from brew) also and it appears to also not download new files automatically.

### Please provide any additional information below.
I've tested a few things I thought might be related.  Since restarting assistant seems to temporarily "fix" the problem, I thought there may be some SSH client caching problems... as in the existing connection not being reused properly.  However, I disabled annex.sshcaching as described elsewhere and that did not have any affect.

I've enabled XMPP and it only introduced more confusion as the XMPP messaging was not reliably consistent.

daemon.log for Mac OS systems does not show the "Pusher" process getting initiated once new files are added to the repo if the assistant is currently running, however it is logged immediately after assistant is started if there are new files in the repo.

daemon.log for Ubuntu systems does contain the Pusher process event following the repo sync that takes place once the file has been added to the repo.

[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log

MACOSX:user$git-annex assistant --autostart

daemon.log:

[2014-06-25 11:52:04 CDT] main: starting assistant version 5.20140421
[2014-06-25 11:52:09 CDT] TransferScanner: Syncing with serverrepo

Already up-to-date.
(scanning...) [2014-06-25 11:52:09 CDT] Watcher: Performing startup scan

Already up-to-date.
(started...)
[2014-06-25 11:52:10 CDT] Committer: Committing changes to git
(Recording state in git...)
(gpg)
Already up-to-date.

Already up-to-date.
[2014-06-25 11:52:11 CDT] Pusher: Syncing with serverrepo

GPGHMACSHA1--3e18c6a4ee5aece84f4f00fc2e7fcb828d8fa7d8
Everything up-to-date0.00kB/s    0:00:00
Everything up-to-date4.56MB/s    0:00:00
     8409197 100%    4.94MB/s    0:00:01 (xfer#1, to-check=0/1)

sent 38 bytes  received 8411383 bytes  2403263.14 bytes/sec
total size is 8409197  speedup is 1.00
[2014-06-25 11:52:13 CDT] Transferrer: Downloaded 67-more-fromubuntu
[2014-06-25 11:52:14 CDT] Committer: Adding 67-more-fromubuntu
add /Users/user/computer_annex/67-more-fromubuntu ok
[2014-06-25 11:52:14 CDT] Committer: Committing changes to git
(Recording state in git...)
[2014-06-25 11:52:20 CDT] Pusher: Syncing with serverrepo
(Recording state in git...)
To ssh://user@git-annex-server.remotehost.net-user_.2Fhome.2Fuser.2Fserver_repo/home/user/server_repo/
   7e375a8..1a64e4c  git-annex -> synced/git-annex
[2014-06-25 11:52:36 CDT] RemoteControl: Syncing with serverrepo
From ssh://git-annex-server.remotehost.net-user_.2Fhome.2Fuser.2Fserver_repo/home/user/server_repo
   1a64e4c..dee9f84  synced/git-annex -> serverrepo/synced/git-annex
   d424057..989003e  synced/master -> serverrepo/synced/master
(merging serverrepo/synced/git-annex into git-annex...)

<<<File gets added to any other client annex, MAC OSX or Ubuntu>>>

Updating d424057..989003e
Fast-forward
 89-more-fromubuntu | 1 +
 1 file changed, 1 insertion(+)
 create mode 120000 89-more-fromubuntu
[2014-06-25 11:58:42 CDT] RemoteControl: Syncing with serverrepo
From ssh://git-annex-server.remotehost.net-user_.2Fhome.2Fuser.2Fserver_repo/home/user/server_repo
   dee9f84..b24c8bf  synced/git-annex -> serverrepo/synced/git-annex
(merging serverrepo/synced/git-annex into git-annex...)
[2014-06-25 11:58:47 CDT] RemoteControl: Syncing with serverrepo
From ssh://git-annex-server.remotehost.net-user_.2Fhome.2Fuser.2Fserver_repo/home/user/server_repo
   b24c8bf..6488b45  synced/git-annex -> serverrepo/synced/git-annex
(merging serverrepo/synced/git-annex into git-annex...)
[2014-06-25 11:58:56 CDT] RemoteControl: Syncing with serverrepo
From ssh://git-annex-server.remotehost.net-user_.2Fhome.2Fuser.2Fserver_repo/home/user/server_repo
   6488b45..c73c180  synced/git-annex -> serverrepo/synced/git-annex
(merging serverrepo/synced/git-annex into git-annex...)

# End of transcript or log.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawncukUQl56TwiBJb7dIyAqP1YirNg_wjR4"
 nickname="Matthew"
 subject="Actions -> Sync Now in webapp does properly download new files"
 date="2014-07-17T13:50:06Z"
 content="""
confirmed - your understanding is correct
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnu1NjsjNS3m0OxiYLKO-5SKNpSERxpi6k"
 nickname="Matthew"
 subject="comment 1"
 date="2014-07-09T13:56:31Z"
 content="""
\"workaround\" is just a cron job that runs 'git annex sync --content' every N minutes...

Is there any possible configuration error I've made that would cause the OSX clients to behave differently than the linux clients despite ostensibly being set up identically??
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.2"
 subject="comment 2"
 date="2014-07-10T19:19:36Z"
 content="""
Could you please go into some more detail about these two things:

> --create repo (transfer mode) on VPS
>
> --create shared encryption repo (backup mode) on same VPS

It's not clear to me what kind of repositories these are. Are they bare git repositories? What version of git-annex, if any, is installed on that VPS?

> git-annex whereis $file does not indicate that the files represented as symlinks are located on the Mac OSX clients in question until after files are manually retrieved

Well, I'd not expect whereis to say that the file is in a repository until it's retrieved into that repository. However, does whereis, on the OSX clients, ever say that the file has reached one of the repos on the VPS?
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawncukUQl56TwiBJb7dIyAqP1YirNg_wjR4"
 nickname="Matthew"
 subject="comment 3"
 date="2014-07-11T17:06:43Z"
 content="""
I created an local repository on each of 2 OS X (10.8.5) systems running git-annex version 5.20140421, and each of 2 Ubuntu 12.04 systems running version 5.20140517.4

I then created a remote SSH repository by selecting \"Make an unencrypted git repository on the server\" - this repo is in \"transfer\" mode.

On the 2nd OSX client, I added a remote SSH repository, providing the same host and path information and elected to \"combine\" my local repo with the remote repo so that files would stay in sync.

I did the same on each of the linux clients.

git-annex indicates that local repos on each machine are in direct mode and show all expected semi trusted repos: web, SSH remote, other clients that have combined with the SSH remote.

git-annex indicates that the SSH remote repo is in indirect mode

git indicates that all repos are in bare mode

git-annex version 5.20140412ubuntu1 is installed on the VPS, and 'git-annex shell notify changes' processes are running.

Agreed on the behavior of git-annex whereis… just pointing out that the location info is accurate.

The 2nd, encrypted repo may have no bearing at all because even when I remove it, the client behavior on OSX doesn't change.

Thanks for taking the time to consider this!
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawncukUQl56TwiBJb7dIyAqP1YirNg_wjR4"
 nickname="Matthew"
 subject="comment 4"
 date="2014-07-11T17:11:41Z"
 content="""
I should add that in the web app on OSX, the behavior is consistent;  syncing the local repository on an OSX client create a symlink (if that hasn't already been done in the background).  resyncing \"here\" (local client) doesn't download the file.  syncing the remote SSH repo, however does download the file content (as does git-annex sync --content)

thanks!
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawncukUQl56TwiBJb7dIyAqP1YirNg_wjR4"
 nickname="Matthew"
 subject="comment 5"
 date="2014-07-11T18:10:06Z"
 content="""
Sorry to miss this previously, but, yes, whereis does indicate that it has made it to both of the remotes.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.2"
 subject="comment 6"
 date="2014-07-16T20:51:36Z"
 content="""
5.20140421 happens to be the very first version of git-annex to support notifychanges. I forget what bugs that first attempt may have had. Have you tried upgrading the macs to a newer version?

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawncukUQl56TwiBJb7dIyAqP1YirNg_wjR4"
 nickname="Matthew"
 subject="comment 7"
 date="2014-07-16T21:23:00Z"
 content="""
git-annex version: 5.20140613 also behaves the same way, however it generates a new log message during the sync attempt:

Automatic merge went well; stopped before committing as requested

"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.2"
 subject="comment 8"
 date="2014-07-16T22:23:50Z"
 content="""
Hmm, it looks to me like the transfer scan may not be getting run after the git branches get pulled. I would expect to see \"starting scan of\" in the debug log when it does that scan. Do you see that in the log?

AIUI, when you click on Actions -> Sync Now in the webapp for the repository that contains the content, it gets downloaded right? That does the same scan that should be automatically run after a branch is pulled.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawncukUQl56TwiBJb7dIyAqP1YirNg_wjR4"
 nickname="Matthew"
 subject="comment 9"
 date="2014-07-17T01:58:29Z"
 content="""
Hi Joey,

Thanks for taking the time to follow up on this - I sincerely appreciate it!

Only immediately after I start the assistant does the \"starting scan of\" message get logged:

[2014-07-16 20:38:07 CDT] TransferScanner: starting scan of [Remote { name =\"hostrepo\" }]

and, at that point, new files are downloaded.

If the assistant has been running for a while, I then create a new file in an annex on another machine, and the OS X assistant has synced and then created a symlink for new files, the following log is generated (NOTE the groovy scroodled first line if it's at all of interest...):

[2014-07-16 20:30:[312 0C1D4T-] 0c7a-ll1:6  g2i0t: 3[0\":--3g1i tC-DdTi]r =R/eUmsoetresC/omnhtirlotly:/ sShYiNnCiIeNrG_ asnsnhe:x///.mgaitte\"o,@\"g-i-tw-oarnkn-etxr-egeo=t/aU.sienrfsr/omnhtiiletrys/.snheitn-imeart_eaon_ngeoxt\"a,_\"r-ecp\"o,/\"~c/ogroet.ab_arreep=of/a
lse\",\"fetch\",\"hostrepo\"]

[2014-07-16 20:30:31 CDT] RemoteControl: Syncing with hostrepo
From ssh://git-annex-host.vpshost.net-someuser_host_repo/~/host_repo
   fdd1eff..e1057e0  synced/git-annex -> hostrepo/synced/git-annex
   fa3cfb0..e4ba411  synced/master -> hostrepo/synced/master

[2014-07-16 20:30:32 CDT] RemoteControl: DONESYNCING ssh://someuser@git-annex-host.vpshost.net-someuser_host_repo/~/host_repo/ 1

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..fdd1effb8d2b8073e94725874e16056d6557f199\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..bfef6b84186d59431377343ab968e255db8c76fa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..e1057e037f03ba804f021c8c39073b2efd1fad08\",\"--oneline\",\"-n1\"]
(merging hostrepo/synced/git-annex into git-annex...)

[2014-07-16 20:30:32 CDT] feed: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-index\",\"-z\",\"--index-info\"]

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"e1057e037f03ba804f021c8c39073b2efd1fad08\"]

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"e1057e037f03ba804f021c8c39073b2efd1fad08..refs/heads/git-annex\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:32 CDT] call: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-ref\",\"refs/heads/git-annex\",\"e1057e037f03ba804f021c8c39073b2efd1fad08\"]

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"ls-tree\",\"--full-tree\",\"-z\",\"--\",\"refs/heads/git-annex\",\"uuid.log\",\"remote.log\",\"trust.log\",\"group.log\",\"numcopies.log\",\"schedule.log\",\"preferred-content.log\",\"required-content.log\",\"group-preferred-content.log\"]

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"symbolic-ref\",\"HEAD\"]

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"refs/heads/annex/direct/master\"]

[2014-07-16 20:30:32 CDT] Merger: merging refs/remotes/hostrepo/synced/master into refs/heads/annex/direct/master

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/annex/direct/master\"]

[2014-07-16 20:30:32 CDT] call: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex/.git/annex/merge/\",\"-c\",\"core.bare=false\",\"merge\",\"--no-edit\",\"refs/remotes/hostrepo/synced/master\"]

Updating fa3cfb0..e4ba411
Fast-forward
 from-ubuntu | 1 +
 1 file changed, 1 insertion(+)
 create mode 120000 from-ubuntu

[2014-07-16 20:30:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-tree\",\"-z\",\"--raw\",\"--no-renames\",\"-l0\",\"-r\",\"fa3cfb01cc4493ed8a7cf84dff38bbba1fc042f9\",\"HEAD\"]

[2014-07-16 20:30:33 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]

[2014-07-16 20:30:33 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]

[2014-07-16 20:30:33 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..e1057e037f03ba804f021c8c39073b2efd1fad08\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:33 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..bfef6b84186d59431377343ab968e255db8c76fa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:33 CDT] feed: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-index\",\"-z\",\"--index-info\"]

[2014-07-16 20:30:33 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"refs/heads/git-annex\"]

[2014-07-16 20:30:45 CDT][ cal2l0:1 4g-i0t7 -[16\" -2-0g:i3t0-:di4r5= /CUDsTe]r sR/emmhoitletCyo/nsthrionli:e rS_YaNnCnIeNxG/ .sgsiht:\"/,/\"m-a-tweoor@kg-ittr-eaen=n/eUxs-egrost/am.hiinlftryo/nsthiienrise.rn_eatn-nmeaxt\"e,o\"_-gco\"t,a\"_croerpeo./b~a/rgeo=tfaa_lrseep\"o,/\"
fetch\",\"hostrepo\"]

[2014-07-16 20:30:45 CDT] RemoteControl: Syncing with hostrepo
From ssh://git-annex-host.vpshost.net-someuser_host_repo/~/host_repo
   e1057e0..d44a67a  synced/git-annex -> hostrepo/synced/git-annex

[2014-07-16 20:30:47 CDT] RemoteControl: DONESYNCING ssh://someuser@git-annex-host.vpshost.net-someuser_host_repo/~/host_repo/ 1

[2014-07-16 20:30:47 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]

[2014-07-16 20:30:47 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]

[2014-07-16 20:30:47 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..e1057e037f03ba804f021c8c39073b2efd1fad08\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:47 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..bfef6b84186d59431377343ab968e255db8c76fa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:47 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..d44a67a5795c28e423a9ac018bead9dac793be5c\",\"--oneline\",\"-n1\"]
(merging hostrepo/synced/git-annex into git-annex...)

[2014-07-16 20:30:47 CDT] feed: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-index\",\"-z\",\"--index-info\"]

[2014-07-16 20:30:47 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"d44a67a5795c28e423a9ac018bead9dac793be5c\"]

[2014-07-16 20:30:47 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"d44a67a5795c28e423a9ac018bead9dac793be5c..refs/heads/git-annex\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:47 CDT] call: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-ref\",\"refs/heads/git-annex\",\"d44a67a5795c28e423a9ac018bead9dac793be5c\"]

[2014-07-16 20:30:48 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]

[2014-07-16 20:30:48 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]

[2014-07-16 20:30:48 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..d44a67a5795c28e423a9ac018bead9dac793be5c\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:48 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..bfef6b84186d59431377343ab968e255db8c76fa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:48 CDT] feed: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-index\",\"-z\",\"--index-info\"]

[2014-07-16 20:30:48 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"refs/heads/git-annex\"]

[2014-07-16 20:30:51 CD[T]2 0c1a4l-l:0 7g-it1 6[ \"2-0-:g3i0t:-d5i1r =C/DUTs]e rRse/mmohtielCtoyn/tsrhoiln:i eSrY_NaCnInNeGx /s.sghi:t/\"/,m\"a-t-ewoo@rgki-tt-raenen=e/xU-sgeortsa/.mihniflrtoyn/tsiheirnsi.enre_ta-nmnaetxe\"o,_\"g-oct\"a,_\"rceoproe/.~b/agroet=af_arlespeo\"/,
\"fetch\",\"hostrepo\"]

[2014-07-16 20:30:51 CDT] RemoteControl: Syncing with hostrepo
From ssh://git-annex-host.vpshost.net-someuser_host_repo/~/host_repo
   d44a67a..660d71a  synced/git-annex -> hostrepo/synced/git-annex

[2014-07-16 20:30:51 CDT] RemoteControl: DONESYNCING ssh://someuser@git-annex-host.vpshost.net-someuser_host_repo/~/host_repo/ 1

[2014-07-16 20:30:51 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]

[2014-07-16 20:30:51 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]

[2014-07-16 20:30:51 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..d44a67a5795c28e423a9ac018bead9dac793be5c\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:51 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..bfef6b84186d59431377343ab968e255db8c76fa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:52 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..660d71ac55b47061c531e5c8fa2af7910f2e13aa\",\"--oneline\",\"-n1\"]
(merging hostrepo/synced/git-annex into git-annex...)

[2014-07-16 20:30:52 CDT] feed: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-index\",\"-z\",\"--index-info\"]

[2014-07-16 20:30:52 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"660d71ac55b47061c531e5c8fa2af7910f2e13aa\"]

[2014-07-16 20:30:52 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"660d71ac55b47061c531e5c8fa2af7910f2e13aa..refs/heads/git-annex\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:52 CDT] call: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-ref\",\"refs/heads/git-annex\",\"660d71ac55b47061c531e5c8fa2af7910f2e13aa\"]

[2014-07-16 20:30:52 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]

[2014-07-16 20:30:52 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]

[2014-07-16 20:30:52 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..660d71ac55b47061c531e5c8fa2af7910f2e13aa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:53 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..bfef6b84186d59431377343ab968e255db8c76fa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:30:53 CDT] feed: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-index\",\"-z\",\"--index-info\"]

[2014-07-16 20:30:53 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"refs/heads/git-annex\"]

[2014-07-16 20[:32101:4-007-71 6 C2D0T:]3 1:ca0l7l :C DgTi]t  Re[m\"ot-e-Cognitrtol-: dSiYNrCI=NG/ Usssh:e/r/msa/tmeoh@giitl-tayn/nesx-hgoitan.iinefrron_tiaerns.nneetx-/m.agtieto\"_,g\"o-t-a_wroepro/k~/-gottar_reepeo/=
/Users/someuser/local_ann[ex\"2,0\"1-4c-\",0\"7c-o1r6e .2b0a:r3e1=:fa0l7s eC\"D,T\"]f eRtecmho\"t,e\"Cgoonttarroelp:o \"]
Syncing with hostrepo
From ssh://git-annex-host.vpshost.net-someuser_host_repo/~/host_repo
   660d71a..273bc7f  synced/git-annex -> hostrepo/synced/git-annex

[2014-07-16 20:31:09 CDT] RemoteControl: DONESYNCING ssh://someuser@git-annex-host.vpshost.net-someuser_host_repo/~/host_repo/ 1

[2014-07-16 20:31:09 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-
annex\"]

[2014-07-16 20:31:09 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]

[2014-07-16 20:31:09 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..660d71ac55b47061c531e5c8fa2af7910f2e13aa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:31:09 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..bfef6b84186d59431377343ab968e255db8c76fa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:31:09 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..273bc7f261a79539abcc237f1f0bbf5cd4f57add\",\"--oneline\",\"-n1\"]
(merging hostrepo/synced/git-annex into git-annex...)

[2014-07-16 20:31:09 CDT] feed: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-index\",\"-z\",\"--index-info\"]

[2014-07-16 20:31:09 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"273bc7f261a79539abcc237f1f0bbf5cd4f57add\"]

[2014-07-16 20:31:09 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"273bc7f261a79539abcc237f1f0bbf5cd4f57add..refs/heads/git-annex\",\"--oneline\",\"-n1\"]

[2014-07-16 20:31:09 CDT] call: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-ref\",\"refs/heads/git-annex\",\"273bc7f261a79539abcc237f1f0bbf5cd4f57add\"]

[2014-07-16 20:31:10 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]

[2014-07-16 20:31:10 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]

[2014-07-16 20:31:10 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..273bc7f261a79539abcc237f1f0bbf5cd4f57add\",\"--oneline\",\"-n1\"]

[2014-07-16 20:31:10 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..bfef6b84186d59431377343ab968e255db8c76fa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:31:10 CDT] feed: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-index\",\"-z\",\"--index-info\"]

[2014-07-16 20:31:10 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"refs/heads/git-annex\"]

[2014-07-16 20:31:11 CDT] Watcher: directory deleted /Users/someuser/local_annex/local_annex-test

[2014-07-16 20:31:11 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"ls-files\",\"--deleted\",\"-z\",\"--\",\"/Users/someuser/local_annex/local_annex-test\"]

[2014-07-16 20:31[:1270 1C4D-T]0 7c-al1l6:  2g0i:t3 1[:\"-1-7g iCtD-Td]i rR=e/mUosteerCso/nmthriollt:y /SsYhNiCnIiNeGr _sasnhn:e/x//m.agtieto\"@,g\"i-t--waonrnke-xt-rgeoet=a/.Uisnefrrso/nmthiielrtsy./nsehti-nmiaetre_oa_ngnoetxa\"_r,e\"po-/c~\"/g,o\"tcao_rreep.ob/a
re=false\",\"fetch\",\"g[ot2a0r1e4p-o0\"7]-
16 20:31:17 CDT] RemoteControl: Syncing with hostrepo
From ssh://git-annex-host.vpshost.net-someuser_host_repo/~/host_repo
   273bc7f..ce6dd68  synced/git-annex -> hostrepo/synced/git-annex

[2014-07-16 20:31:18 CDT] RemoteControl: DONESYNCING ssh://someuser@git-annex-host.vpshost.net-someuser_host_repo/~/host_repo/ 1

[2014-07-16 20:31:18 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]

[2014-07-16 20:31:18 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]

[2014-07-16 20:31:18 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..273bc7f261a79539abcc237f1f0bbf5cd4f57add\",\"--oneline\",\"-n1\"]

[2014-07-16 20:31:18 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..bfef6b84186d59431377343ab968e255db8c76fa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:31:18 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..ce6dd68adec97bbf73f5da408c17511aca8840c5\",\"--oneline\",\"-n1\"]
(merging hostrepo/synced/git-annex into git-annex...)

[2014-07-16 20:31:18 CDT] feed: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-index\",\"-z\",\"--index-info\"]

[2014-07-16 20:31:18 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"ce6dd68adec97bbf73f5da408c17511aca8840c5\"]

[2014-07-16 20:31:18 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"ce6dd68adec97bbf73f5da408c17511aca8840c5..refs/heads/git-annex\",\"--oneline\",\"-n1\"]

[2014-07-16 20:31:18 CDT] call: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-ref\",\"refs/heads/git-annex\",\"ce6dd68adec97bbf73f5da408c17511aca8840c5\"]

[2014-07-16 20:31:19 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"git-annex\"]

[2014-07-16 20:31:19 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]

[2014-07-16 20:31:19 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..ce6dd68adec97bbf73f5da408c17511aca8840c5\",\"--oneline\",\"-n1\"]

[2014-07-16 20:31:19 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"log\",\"refs/heads/git-annex..bfef6b84186d59431377343ab968e255db8c76fa\",\"--oneline\",\"-n1\"]

[2014-07-16 20:31:19 CDT] feed: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"update-index\",\"-z\",\"--index-info\"]

[2014-07-16 20:31:19 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"diff-index\",\"--raw\",\"-z\",\"-r\",\"--no-renames\",\"-l0\",\"--cached\",\"refs/heads/git-annex\"]

[2014-07-16 20:31:32 CDT] read: git [\"--git-dir=/Users/someuser/local_annex/.git\",\"--work-tree=/Users/someuser/local_annex\",\"-c\",\"core.bare=false\",\"ls-tree\",\"--full-tree\",\"-z\",\"--\",\"refs/heads/git-annex\",\"uuid.log\",\"remote.log\",\"trust.log\",\"group.log\",\"numcopies.log\",\"schedule.log\",\"preferred-content.log\",\"required-content.log\",\"group-preferred-content.log\"]

"""]]


code:
### Please describe the problem.

(small) identical files fail to unannex, leaving broken symlinks, except for the first copy.

### What steps will reproduce the problem?

* Have multiple identical files.  For example, run this, which creates four 6-byte files:

> echo Hello>file1.txt && cp file1.txt file2.txt && cp file1.txt file3.txt && cp file1.txt file4.txt

* Run this (git init needs credentials to have been specified though)

> git init && git-annex init && git-annex add

Now there are 4 symlinks, pointing to the same object:

> lrwxrwxrwx 1 186 Aug 16 15:54 file1.txt -> .git/annex/objects/31/XV/SHA256E-s6--66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18.txt/SHA256E-s6--66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18.txt

* Optionally run "git commit -a".  It doesn't affect the outcome.

* Run git-annex unannex

>     $ git annex unannex
>     unannex file1.txt ok
>     (Recording state in git...)
>     $

Now file1.txt is a normal 6-byte file again, but 2, 3, and 4 are broken symlinks:

    -rw-r----- 1   6 Aug 16 15:54 file1.txt
    lrwxrwxrwx 1 186 Aug 16 15:54 file2.txt -> .git/annex/objects/31/XV/SHA256E-s6--66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18.txt/SHA256E-s6--66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18.txt
    lrwxrwxrwx 1 186 Aug 16 15:54 file3.txt -> .git/annex/objects/31/XV/SHA256E-s6--66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18.txt/SHA256E-s6--66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18.txt
    lrwxrwxrwx 1 186 Aug 16 15:54 file4.txt -> .git/annex/objects/31/XV/SHA256E-s6--66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18.txt/SHA256E-s6--66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18.txt

    $ git-annex fsck
    fsck file2.txt
      ** No known copies exist of file2.txt
    failed
    fsck file3.txt
      ** No known copies exist of file3.txt
    failed
    fsck file4.txt
      ** No known copies exist of file4.txt
    failed
    git-annex: fsck: 3 failed

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

git-annex 4.20130802 package

on Debian GNU/Linux jessie/sid (testing), amd64.

> [[dup|done]] --[[Joey]]


code:
[[!comment format=mdwn
 username="http://openid.yandex.ru/deletesoftware/"
 nickname="deletesoftware"
 subject="duplicate"
 date="2013-08-16T14:52:23Z"
 content="""
It's the same as these:

* [Large unannex operations result in stale symlinks and data loss](http://git-annex.branchable.com/bugs/Large_unannex_operations_result_in_stale_symlinks_and_data_loss/)
* [unannex removes object even if referred to by others](http://git-annex.branchable.com/bugs/unannex_removes_object_even_if_referred_to_by_others/)
* [annex unannex/uninit should handle copies](http://git-annex.branchable.com/bugs/annex_unannex__47__uninit_should_handle_copies/)

and (as gernot mentioned) according to those, has a workaround of \"git annex unannex --fast\". Of course, it's not convenient to need to find a workaround, and to notice a potential dataloss issue…

"""]]


code:
I had created a test repository a time ago with an old version of git-annex. I didn't really used it so I simply deleted the directory by hand. Now I've installed a new version of git-annex  and the old repository stills appears on the webapp, but there is no interface to delete it.

* Old git-annex version: don't remember
* New git-annex version: I downloaded 3.20130107 (twice to be sure), but for some reason 'git-annex version' reports 3.20130102
* OS: Ubuntu 12.04.1 LTS 3.2.0-35-generic-pae #55-Ubuntu SMP Wed Dec 5 18:04:39 UTC 2012 i686 i686 i386 GNU/Linux

> This is [[fixed|done]] in git; assuming the repo was showing up
> in the upper-right menu for switching among local repositories.
> --[[Joey]]


code:
### Please describe the problem.

Following steps from http://git-annex.branchable.com/assistant/quickstart/ does not get past the first screen.

### What steps will reproduce the problem?

* On a nearly fresh Lubuntu system, nearly fresh account, Lubuntu session, run `git-annex` from the start menu.
* Opens firefox, in `Create a git-annex repository` select my `~/Documents` folder, press `Make Repository`.

* Expected: a new, different page opens.
* Observed: the same page opens, only difference the path displayed is `/home/mylogin/Documents`. Pressing `Make Repository` again shows the same page again.

I couldn't find any logs at the time. Now I see that they are in .git/annex/daemon.log but content from that time is already gone.

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

A fresh Ubuntu 14.04 (actually Lubuntu but this shouldn't change anything, right ?), create a user, login.

    LC_ALL=C apt-cache policy git-annex
    git-annex:
      Installed: 5.20140412ubuntu1
      Candidate: 5.20140412ubuntu1
      Version table:
     *** 5.20140412ubuntu1 0
            500 http://fr.archive.ubuntu.com/ubuntu/ trusty/universe i386 Packages
            100 /var/lib/dpkg/status

### Please provide any additional information below.

[[!format sh """
# No command line in bug occurrence.  This is the transcript of the workaround I found.
# Actually, the PC was rebooted then I went command line.
cd ~/Documents
git status
fatal: This operation must be run in a work tree
# oh I see it's a bare repo
git annex add .
add (my file names... one line for each) ok
(Recording state in git...)

Now the webapp seems to run okay, I can see many pages, schedule checks, etc.

# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
-> Ok but log shows only events after I manually dit git annex add.

[2014-06-08 14:28:46 CEST] main: starting assistant version 5.20140412ubuntu1
[2014-06-08 14:28:46 CEST] Cronner: You should enable consistency checking to protect your data.

  dbus failed; falling back to mtab polling (ClientError {clientErrorMessage = "runClient: unable to determine DBUS address", clientErrorFatal = True})
(scanning...) [2014-06-08 14:28:46 CEST] Watcher: Performing startup scan
(started...) [2014-06-08 14:28:47 CEST] Committer: Adding (myfiles)

add (my files...) ok
[2014-06-08 14:32:51 CEST] Committer: Committing changes to git
[2014-06-08 14:34:12 CEST] Committer: Committing changes to git
[2014-06-08 14:34:13 CEST] Committer: Adding (myfiles)
ok
(Recording state in git...)
(Recording state in git...)
(Recording state in git...)
(Recording state in git...)
(Recording state in git...)
add (myfile) ok
add (myfile) [2014-06-08 14:34:13 CEST] Committer: Committing changes to git
[2014-06-08 14:42:48 CEST] Cronner: Consistency check in progress
fsck (myfile) (checksum...)
ok

# End of transcript or log.
"""]]

# Question:

    cat /etc/xdg/autostart/git-annex.desktop
    [Desktop Entry]
    Type=Application
    Version=1.0
    Name=Git Annex Assistant
    Comment=Autostart
    Terminal=false
    Exec=/usr/bin/git-annex assistant --autostart
    Categories=

Should there be a git-annex process whenever I log in even if I don't launch the webapp ?
I can check that on next login.

At the moment there is "git-annex webapp" and several child processes.

[[!tag moreinfo]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 1"
 date="2014-06-09T18:57:25Z"
 content="""
It sounds rather like the webapp is failing to create the repository. Although I would expect for it to show an error message in red beneath the repository path. OTOH, it also sounds like something (either the webapp or eg a manual git-annex run) set up a git-annex repository in ~/Documents.

git-annex will be started automatically on login as long as `~/.config/git-annex/autostart` lists a repository to use. If that file exists and contains ~/Documents then we'll know that the webapp successfully set up the repository.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawm7eqCMh_B7mxE0tnchbr0JoYu11FUAFRY"
 nickname="Stéphane"
 subject="comment 2"
 date="2014-06-09T20:34:55Z"
 content="""
> It sounds rather like the webapp is failing to create the repository. Although I would expect for it to show an error message in red beneath the repository path.

No message in red at any time.

> OTOH, it also sounds like something (either the webapp or eg a manual git-annex run) set up a git-annex repository in ~/Documents.

There was none before the webapp.
After the webapp failure, there was one, but without any file.
Only after I manually did git annex add, it looked \"unlocked\".

> git-annex will be started automatically on login as long as ~/.config/git-annex/autostart lists a repository to use. If that file exists and contains ~/Documents then we'll know that the webapp successfully set up the repository.

Can't check now, the machine is off.  Should check soon.  Thanks.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawm7eqCMh_B7mxE0tnchbr0JoYu11FUAFRY"
 nickname="Stéphane"
 subject="No git-annex process."
 date="2014-06-11T17:55:56Z"
 content="""
> It sounds rather like the webapp is failing to create the repository. Although I would expect for it to show an error message in red beneath the repository path. OTOH, it also sounds like something (either the webapp or eg a manual git-annex run) set up a git-annex repository in ~/Documents.

As told before, there was definitely no git repository there before the webapp tried to create one.

> git-annex will be started automatically on login as long as ~/.config/git-annex/autostart lists a repository to use. If that file exists and contains ~/Documents then we'll know that the webapp successfully set up the repository.

There exists a ~/.config/git-annex/autostart containing one line, the correct /home/mylogin/Documents path to the folder.

There is no process with git or annex in its name when user logs on his desktop session.

    $ grep . $(dpkg -L git-annex | grep -i desktop)
    /usr/share/applications/git-annex.desktop:[Desktop Entry]
    /usr/share/applications/git-annex.desktop:Type=Application
    /usr/share/applications/git-annex.desktop:Version=1.0
    /usr/share/applications/git-annex.desktop:Name=Git Annex
    /usr/share/applications/git-annex.desktop:Comment=Track and sync the files in your Git Annex
    /usr/share/applications/git-annex.desktop:Terminal=false
    /usr/share/applications/git-annex.desktop:Exec=/usr/bin/git-annex webapp
    /usr/share/applications/git-annex.desktop:Icon=git-annex
    /usr/share/applications/git-annex.desktop:Categories=Network;FileTransfer;
    /etc/xdg/autostart/git-annex.desktop:[Desktop Entry]
    /etc/xdg/autostart/git-annex.desktop:Type=Application
    /etc/xdg/autostart/git-annex.desktop:Version=1.0
    /etc/xdg/autostart/git-annex.desktop:Name=Git Annex Assistant
    /etc/xdg/autostart/git-annex.desktop:Comment=Autostart
    /etc/xdg/autostart/git-annex.desktop:Terminal=false
    /etc/xdg/autostart/git-annex.desktop:Exec=/usr/bin/git-annex assistant --autostart
    /etc/xdg/autostart/git-annex.desktop:Categories=

"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 4"
 date="2014-06-11T20:09:14Z"
 content="""
What happens if you run `git-annex assistant --autostart` ?
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawm7eqCMh_B7mxE0tnchbr0JoYu11FUAFRY"
 nickname="Stéphane"
 subject="Can't reproduce"
 date="2014-06-30T20:06:30Z"
 content="""
I tried to reproduce the bug on another account on the same machine, same LXDE environment.
The bug did not occur again.

> What happens if you run `git-annex assistant --autostart` ?

To answer that, I went back to the first account. Just logging in.
The following git-related processes are automatically launched without running `git-annex assistant --autostart`.

     git-annex assistant --startdelay=5s
     git --git-dir=/home/somelogin/Documents/.git --work-tree=/home/somelogin/Documents -c core.bare=false cat-file --batch
     git --git-dir=/home/somelogin/Documents/.git --work-tree=/home/somelogin/Documents -c core.bare=false cat-file --batch
     git --git-dir=/home/somelogin/Documents/.git --work-tree=/home/somelogin/Documents -c core.bare=false check-ignore -z --stdin --verbose --non-matching
     git --git-dir=/home/somelogin/Documents/.git --work-tree=/home/somelogin/Documents -c core.bare=false check-attr -z --stdin annex.backend annex.numcopies --

So, somehow things went back in order by themselves ?

There were quite a bunch of software upgrades from Ubuntu, including `lxsession`.  Perhaps something was wrong in handling autostart desktop files ?

Since things appear to work now, should we close the bug ?

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawm7eqCMh_B7mxE0tnchbr0JoYu11FUAFRY"
 nickname="Stéphane"
 subject="Cconfirmed it was a LXDE issue, now fixed."
 date="2014-07-03T09:58:24Z"
 content="""
Since this is a little strange, I just looked again at the machine.
Your software attracts archivist kind of git-annex user, so don't be surprise that I kept logs of the machine.

Short answer: **confirmed it was a LXDE issue, now fixed**.

## From what date has git-annex started to work ?

	git log | grep Date:

    (many other lines...)
    Date:   Mon Jun 30 21:43:49 2014 +0200
    Date:   Mon Jun 30 21:42:07 2014 +0200
    Date:   Mon Jun 30 21:38:22 2014 +0200
    Date:   Sun Jun 8 14:34:13 2014 +0200
    Date:   Sun Jun 8 14:28:48 2014 +0200
    Date:   Sat Jun 7 16:21:06 2014 +0200

So I tried to enable it on June 7, reported bug on June 8.
The the machine was used on a regular basis but git-annex assistant was ineffective.
Then it started working as expected from June 30th.

## Any package install near June 30th ?

Updates installed regularly.

    cd /var/log ; zgrep -h \" installed.*\" dpkg.log* | grep '2014-0[67]-..' -o | sort | uniq -c

          2 2014-06-02
          3 2014-06-03
          3 2014-06-04
          3 2014-06-06
         49 2014-06-07
          3 2014-06-10
          8 2014-06-11
         45 2014-06-12
          7 2014-06-13
          2 2014-06-16
         42 2014-06-21
         20 2014-06-25
          3 2014-06-26
         23 2014-06-27
         13 2014-06-28
          6 2014-06-30
         15 2014-07-02
          3 2014-07-03

Which packages were installed on 2014-06-30 ?

    cd /var/log ; zgrep -h \" installed.*\" dpkg.log* | grep '2014-06-(29|30)' -E

    2014-06-30 17:29:15 status installed lxsession-data:all 0.4.9.2+git20140410-0ubuntu1.1
    2014-06-30 17:29:29 status installed desktop-file-utils:i386 0.22-1ubuntu1
    2014-06-30 17:29:30 status installed mime-support:all 3.54ubuntu1
    2014-06-30 17:29:30 status installed lxsession-default-apps:i386 0.4.9.2+git20140410-0ubuntu1.1
    2014-06-30 17:29:44 status installed lxsession-logout:i386 0.4.9.2+git20140410-0ubuntu1.1
    2014-06-30 17:29:58 status installed lxsession:i386 0.4.9.2+git20140410-0ubuntu1.1

And indeed [0.4.9.2+git20140410-0ubuntu1.1 : “lxsession” package : Ubuntu](https://launchpad.net/ubuntu/+source/lxsession/0.4.9.2+git20140410-0ubuntu1.1)

So it was indeed a lxde bug.

[Diff text](http://launchpadlibrarian.net/177201602/lxsession_0.4.9.2%2Bgit20140410-0ubuntu1_0.4.9.2%2Bgit20140410-0ubuntu1.1.diff.gz)

I added a comment there (#69) which may serve as a hint to other people having not updated their system. [Bug #1308348 “network settings indicator missing from panel” : Bugs : “lxsession” package : Ubuntu](https://bugs.launchpad.net/ubuntu/+source/lxsession/+bug/1308348)

"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.55"
 subject="comment 7"
 date="2014-07-03T19:03:52Z"
 content="""
That lubuntu bug explains why git-annex would not autostart on login.

However, that does not explain the original problem description, which was that the `Make Repository` button seemed to make a repository but not switch to the webapp running in that repository. In the case of making a new repository, the webapp is started in it by git-annex, not by the desktop autostart mechanism.

Can you reproduce the original problem?

"""]]


code:
### Please describe the problem.
On Windows, attempting to annex get from a remote over HTTP fails. URLs which are nearly correct, but have incorrect slashes, are sent.

### What steps will reproduce the problem?
1. Create an annex on Linux.
2. Configure repository for HTTP access
3. Clone annex on Windows.
4. "git annex get ."
5. git annex makes requests for urls like the following: http://host/repo/.git/annex/objects\<3-char-hash>\<3-char-hash>\SHA<file hash>

### What version of git-annex are you using? On what operating system?
Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page)

Debian Linux: 3.20120629 (from the package manager)

### Please provide any additional information below.
placing a wrapper script in front of wget which replaces '\' with '/' works around the issue, and allows git annex get to complete.

###Full Transcript

#### 1. setup of linux repo
[[!format sh """
test-git-annex@linux_host:~/test_annex$ git version
git version 1.7.10.4
test-git-annex@linux_host:~/test_annex$ git annex version
git-annex version: 3.20120629
local repository version: 3
default repository version: 3
supported repository versions: 3
upgrade supported from repository versions: 0 1 2
test-git-annex@linux_host: ~test-git-annex@linux_host:~$ mkdir test_annex
test-git-annex@linux_host: ~test-git-annex@linux_host:~$ cd test_annex/
test-git-annex@linux_host:~/test_annex$ git init .
Initialized empty Git repository in /home/test-git-annex/test_annex/.git/
test-git-annex@linux_host:~/test_annex$ annex init laptop
init laptop ok
(Recording state in git...)
~/test_annextest-git-annex@linux_host:~/test_annex$ echo "this is some content" > file1.txt
test-git-annex@linux_host:~/test_annex$ git annex add file1.txt
add file1.txt (checksum...) ok
(Recording state in git...)
test-git-annex@linux_host:~/test_annex$ git commit -a -m "initial commit"
[master (root-commit) 821c6c1] initial commit
 1 file changed, 1 insertion(+)
 create mode 120000 file1.txt
test-git-annex@linux_host:~/test_annex$ ls -l
total 4
lrwxrwxrwx 1 test-git-annex test-git-annex 178 Jul  6 11:33 file1.txt -> .git/annex/objects/J9/m6/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729
test-git-annex@linux_host:~/test_annex$ cat file1.txt
this is some content
"""]]

#### 2. set up and run http server
[[!format sh """
test-git-annex@MrLinuxTablet:~/test_annex$ git update-server-info
cd ..
test-git-annex@MrLinuxTablet:~$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

"""]]

#### 3. Set up Windows, clone repo, init annex

[[!format sh """

#Windows 7
#download and install git from git-scm.com/download/win
#Git-1.8.3-preview20130601.exe
#on install, selecting "Run Git from the Windows Command Prompt"
#on install, selecting "checkout as-is, commit as-is"
#installs to C:\Program Files (x86)\Git
#download and install git-annex from http://git-annex.branchable.com/install/
#git-annex-installer.exe
#need to right-click 'run as administrator', per reported bug (link here)
#installs to C:\Program Files (x86)\Git\cmd
#also installs some utilities, including wget.exe

C:\Users\test-git-annex>git clone http://192.168.0.8:8000/test_annex/.git
Cloning into 'test_annex'...

C:\Users\test-git-annex>cd test_annex

C:\Users\test-git-annex\test_annex>dir
 Volume in drive C has no label.

 Directory of C:\Users\test-git-annex\test_annex

<DIR>          .
<DIR>          ..
              178 file1.txt
               1 File(s)            178 bytes

C:\Users\test-git-annex\test_annex>type file1.txt
.git/annex/objects/J9/m6/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729

C:\Users\test-git-annex\test_annex>git annex init windows
init windows
  Detected a crippled filesystem.

  Enabling direct mode.

  Detected a filesystem without fifo support.

  Disabling ssh connection caching.
ok
(Recording state in git...)

"""]]

####4. annex get

[[!format sh """
#create empty file named 'wget' in Git\cmd, and install cygwin, add to path, to provide necessary DLLs
C:\Users\test-git-annex\test_annex> git annex get file.txt

C:\Users\test-git-annex\test_annex>git annex -vd get file1.txt
[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","ls-files","--cached","-z","--","file1.txt"]
get file1.txt [<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","show-ref","git-annex"]
[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","show-ref","--hash","refs/heads/git-annex"]
[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","log","refs/heads/git-annex..98d1182bcee688b06307963dfea81aa70a3c8336","--oneline","-n1"]
[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","log","refs/heads/git-annex..304263841906c0b4dda39d0fdbe54e4af4307cb8","--oneline","-n1"]
(merging origin/git-annex into git-annex...)
[<datetime>] chat: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","cat-file","--batch"]
[<datetime>] feed: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","update-index","-z","--index-info"]
[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","304263841906c0b4dda39d0fdbe54e4af4307cb8"]
[<datetime>] chat: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","hash-object","-t","blob","-w","--stdin","--no-filters"]
[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","log","304263841906c0b4dda39d0fdbe54e4af4307cb8..refs/heads/git-annex","--oneline","-n1"]
(Recording state in git...)
[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","write-tree"]
[<datetime>] chat: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","commit-tree","838284a4dbc1c57bea2595ac7636c32a7a86b745","-p","refs/heads/git-annex","-p","304263841906c0b4dda39d0fdbe54e4af4307cb8"]
[<datetime>] call: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","update-ref","refs/heads/git-annex","c594efcf08bd4de8963cc3fb6890275f623aee12"]
[<datetime>] call: wget ["-q","-c","-O","C:\\Users\\test-git-annex\\AppData\\Local\\Temp\\git-annex4860.tmp","http://192.168.0.8:8000/test_annex/.git/config"]
cygwin warning:
  MS-DOS style path detected: C:\Users\test-git-annex\AppData\Local\Temp\git-annex4860.tmp
  Preferred POSIX equivalent is: /cygdrive/c/Users/test-git-annex/AppData/Local/Temp/git-annex4860.tmp
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
[<datetime>] read: git ["config","--null","--list","--file","C:\\Users\\test-git-annex\\AppData\\Local\\Temp\\git-annex4860.tmp"]
[<datetime>] call: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","config","remote.origin.annex-uuid","64000156-e66a-11e2-aa76-131bb0a453f3"]
[<datetime>] read: git ["config","--null","--list"]
(from origin...) [<datetime>] call: wget ["-c","-O","C:\\Users\\test-git-annex\\test_annex\\.git\\annex\\tmp\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729","http://192.168.0.8:8000/test_annex/.git/annex\\objects\\c96\\53e\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729"]
cygwin warning:
  MS-DOS style path detected: C:\Users\test-git-annex\test_annex\.git\annex\tmp\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729
  Preferred POSIX equivalent is: /cygdrive/c/Users/test-git-annex/test_annex/.git/annex/tmp/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
--<datetime>--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729
Connecting to 192.168.0.8:8000... connected.
HTTP request sent, awaiting response... 404 File not found
<datetime> ERROR 404: File not found.

[<datetime>] call: wget ["-c","-O","C:\\Users\\test-git-annex\\test_annex\\.git\\annex\\tmp\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729","http://192.168.0.8:8000/test_annex/.git/annex\\objects\\J9\\m6\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729"]
cygwin warning:
  MS-DOS style path detected: C:\Users\test-git-annex\test_annex\.git\annex\tmp\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729
  Preferred POSIX equivalent is: /cygdrive/c/Users/test-git-annex/test_annex/.git/annex/tmp/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
--<datetime>--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729
Connecting to 192.168.0.8:8000... connected.
HTTP request sent, awaiting response... 404 File not found
<datetime> ERROR 404: File not found.

  Unable to access these remotes: origin

  Try making some of these repositories available:
        64000156-e66a-11e2-aa76-131bb0a453f3 -- origin (laptop)
failed
git-annex: get: 1 failed

"""]]

#### http server output from above

[[!format sh """
192.168.0.2 - - [<datetime>] code 404, message File not found
192.168.0.2 - - [<datetime>] "GET /test_annex/.git/annex%5Cobjects%5Cc96%5C53e%5CSHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729%5CSHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 HTTP/1.1" 404 -
192.168.0.2 - - [<datetime>] code 404, message File not found
192.168.0.2 - - [<datetime>] "GET /test_annex/.git/annex%5Cobjects%5CJ9%5Cm6%5CSHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729%5CSHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 HTTP/1.1" 404 -
"""]]

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


code:
### Please describe the problem.
On Windows, git-annex is unable to 'annex get' from a repository hosted on an external USB disk.

### What steps will reproduce the problem?
1. Create an annex (A1) on a Linux system
2. Clone A1 to a new annex (A2) to an external USB drive. add A1 as a remote, "annex get ."
3. Mount the USB drive to a windows system. Clone A2 to a new annex (A3).
4. add A2 as a remote to A3
5. "git annex get ."
6. annex get will fail with file not found errors. This appears to be due to case sensitivity on Windows.

### What version of git-annex are you using? On what operating system?
Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page)

Debian Linux: 3.20120629 (from the package manager)

[[!tag moreinfo]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.153.254.222"
 subject="comment 1"
 date="2013-07-07T17:50:40Z"
 content="""
Is A2 a bare or a non-bare git repository?

What filesystem is used on the USB drive?

Why do you think it has to do with case sensativity?
"""]]


code:
### Please describe the problem.
On Windows, I try to "annex get" from a Linux based repository, but it fails with no useful error message.

### What steps will reproduce the problem?
1. Create annex (A1) on a Linux system.
2. clone A1 to another annex (A2) on the same file tree (on a mounted USB drive, for example)
3. add A2 as a remote to A1.
4. clone A1 to an annex (A3) on a Windows 7 system.
5. attempt to "git annex get ."
6. annex reports that it can find no repositories, and asks to make one available.

### What version of git-annex are you using? On what operating system?
Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page)
Debian Linux: 3.20120629 (from the package manager)

### Please provide any additional information below.
I experienced this bug several times with a plain git-annex install, and the only workaround was removing the unix-style remotes from remote repos.

After other hackery to get git-annex working on Windows, I can't currently reproduce the issue.

[[!tag moreinfo]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.2.134"
 subject="comment 1"
 date="2013-09-13T19:14:55Z"
 content="""
I don't understand what is meant by a \"unix-style\" remote.

Generally it helps to provide some commands I can run on Windows to replicate the problem.
"""]]


code:
### Please describe the problem.
On Windows 7, the committed symlink files are always relative to the repo's .git root; they are not prefixed with the correct number of ../ for the given level of directing nesting.

Trying to correct this with `git annex fix` returns "You cannot run this command in a direct mode repository."

I believe that this is also the source of a pathological case I'm seeing on Windows.  After adding a lot of content, commands like `git annex sync` and `git annex status` appear to re-checksum the entire annex.  After syncing the repo to a Linux machine, fixing the symlinks there, and syncing back, these commands become snappy again.

### What steps will reproduce the problem?

[[!format sh """
git init
git annex init
mkdir -p one/two/three/four/five/six

# drop files into the dir structure
git annex add .
git annex sync
git log -p
"""]]

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

git-annex version: 5.20140203-g83e6fb7

on Windows 7 Pro

### Please provide any additional information below.

The output of `git log -p` for me:

    commit f4d88b6bc99cc94a0b0154da41d06bad3f23cc1e
    Author: Justin Geibel <...>
    Date:   Tue Feb 4 20:56:32 2014 -0500

        git-annex automatic sync

    diff --git a/git-annex-installer.exe b/git-annex-installer.exe
    new file mode 120000
    index 0000000..64f7d83
    --- /dev/null
    +++ b/git-annex-installer.exe
    @@ -0,0 +1 @@
    +.git/annex/objects/GW/Wk/SHA256E-s14413167--ea3a1e4c09ad12fdb2993a157b77b246a058f7f0ca2cd174d8cc675d1495ec4d.exe/SHA256E-s14413167--ea3a1e4c09ad12fdb2993a157b77b246a058f7f0ca2cd174d8cc675d1495ec4d.exe
    \ No newline at end of file
    diff --git a/one/git-annex-installer(1).exe b/one/git-annex-installer(1).exe
    new file mode 120000
    index 0000000..5b37a29
    --- /dev/null
    +++ b/one/git-annex-installer(1).exe
    @@ -0,0 +1 @@
    +.git/annex/objects/6k/8K/SHA256E-s19286321--add3e1ac7ceabce7aa1ed1907895ae527fc095610d1e21127e99814728b24f11.exe/SHA256E-s19286321--add3e1ac7ceabce7aa1ed1907895ae527fc095610d1e21127e99814728b24f11.exe
    \ No newline at end of file
    diff --git a/one/two/git-annex-installer(2).exe b/one/two/git-annex-installer(2).exe
    new file mode 120000
    index 0000000..f89508f
    --- /dev/null
    +++ b/one/two/git-annex-installer(2).exe
    @@ -0,0 +1 @@
    +.git/annex/objects/Zm/6K/SHA256E-s19573485--4f2a22c5b96308cf694c85564940d3cba22b5e8b3b714b242116c91369be75ee.exe/SHA256E-s19573485--4f2a22c5b96308cf694c85564940d3cba22b5e8b3b714b242116c91369be75ee.exe
    \ No newline at end of file
    diff --git a/one/two/three/four/five/git-annex-installer(5).exe b/one/two/three/four/five/git-annex-installer(5).exe
    new file mode 120000
    index 0000000..34565f9
    --- /dev/null
    +++ b/one/two/three/four/five/git-annex-installer(5).exe
    @@ -0,0 +1 @@
    +.git/annex/objects/p3/Xq/SHA256E-s19956630--ec421bfc6cb0b4df2b5195d9229cbcc27a2e5505e0b879bf07e1be38dcc64a42.exe/SHA256E-s19956630--ec421bfc6cb0b4df2b5195d9229cbcc27a2e5505e0b879bf07e1be38dcc64a42.exe
    \ No newline at end of file
    diff --git a/one/two/three/four/five/six/git-annex-installer(6).exe b/one/two/three/four/five/six/git-annex-installer(6).exe
    new file mode 120000
    index 0000000..d6f97d9
    --- /dev/null
    +++ b/one/two/three/four/five/six/git-annex-installer(6).exe
    @@ -0,0 +1 @@
    +.git/annex/objects/9G/5g/SHA256E-s19967171--c9e33dff779a43e76089ec3bee3411299d5b8abfa67ae1b459cee5a812c5194d.exe/SHA256E-s19967171--c9e33dff779a43e76089ec3bee3411299d5b8abfa67ae1b459cee5a812c5194d.exe
    \ No newline at end of file
    diff --git a/one/two/three/four/git-annex-installer(4).exe b/one/two/three/four/git-annex-installer(4).exe
    new file mode 120000
    index 0000000..a4f791c
    --- /dev/null
    +++ b/one/two/three/four/git-annex-installer(4).exe
    @@ -0,0 +1 @@
    +.git/annex/objects/8J/pM/SHA256E-s19959961--7e4521036f891bba97f4c04527946e26ef43b14576d874c666e73dee405c18cf.exe/SHA256E-s19959961--7e4521036f891bba97f4c04527946e26ef43b14576d874c666e73dee405c18cf.exe
    \ No newline at end of file
    diff --git a/one/two/three/git-annex-installer(3).exe b/one/two/three/git-annex-installer(3).exe
    new file mode 120000
    index 0000000..dda7284
    --- /dev/null
    +++ b/one/two/three/git-annex-installer(3).exe
    @@ -0,0 +1 @@
    +.git/annex/objects/5X/qQ/SHA256E-s19915186--c6dc288ec8a77404c0ebc22cbe9b4ec911103fd022c3ca74eec582604dff80a7.exe/SHA256E-s19915186--c6dc288ec8a77404c0ebc22cbe9b4ec911103fd022c3ca74eec582604dff80a7.exe
    \ No newline at end of file

> [[fixed|done]] -- I didn't notice this before because it happened to do
> the right thing if you cd'd into the subdir before adding the file there.
>
> WRT the slow down issue, I don't see how it could matter to git-annex on
> Windows whether the symlinks point to the right place. It only looks at
> the basename of the symlink target to get the key. If you have a
> repository that behaves poorly, you can probably use --debug to see if
> git-annex is calling some expensive series of git commands somehow.
> --[[Joey]]