code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 1"
 date="2014-07-21T19:54:15Z"
 content="""
A git repository is a `.git` directory (or `git.bare` for a bare repository).

A working tree is the directory that contains the `.git` directory.

That is standard git terminology; git-annex does not change this at all really. The only difference is that a file added to git-annex is in both the repository and the working tree at the same time, rather than their being 2 local copies of the file (which would need twice the disk space so not good for large files).

`git annex sync` commits any changes to files in the working tree, and pushes those changes to other remotes. You need to pass --content to also make git-annex upload the files to other remotes. Once a remote has been pushed to, you can run `git annex merge` in it to update its working tree to reflect the pushed changes (`git annex sync` also does that merge).

To automatically sync changes to remotes, you can run the git-annex assistant.
"""]]


code:
First off, to get that off my chest: I am not using Gnome, KDE, XFCE or any "desktop manager" (well, not quite true, I use some bits of XFCE, but it's easier to assume I'm not).

So automounting is always a little tricky for me, and I often use `pmount` to mount external drives and flash cards.

Now, I have tried to add an external drive as a backup to one of my git-annex repositories. I zero'd the drive, added a GPT partition (I wanted labels), formatted it as `ext4` and then gave it to my user:

    cfdisk /dev/sdd
    mkfs -t ext4 /dev/sdd1
    mount /dev/sdd1 /mnt
    chown anarcat /mnt
    umount /mnt

Now, at this step I would have assumed the drive would be seen by the webapp, but that wasn't the case. Maybe I wasn't patient enough? In any case, at some point I got tired and went to the commandline to add the drive as a remote. I did the following:

    mkdir -p /media/ata-WDC_WD15EADS-00P8B0_WD-WMAVU0748851-part1
    mount /dev/disk/by-id/ata-WDC_WD15EADS-00P8B0_WD-WMAVU0748851-part1 /media/ata-WDC_WD15EADS-00P8B0_WD-WMAVU0748851-part1
    cd /srv/mp3
    git annex remote add backup /media/ata-WDC_WD15EADS-00P8B0_WD-WMAVU0748851-part1/mp3
    git init /media/ata-WDC_WD15EADS-00P8B0_WD-WMAVU0748851-part1/mp3
    git annex sync
    git annex copy --to backup

So that worked, and the webapp was now seeing `backup` as yet another repository, but not quite removeable. So failed. Scratching that, I stopped the assistant, and trashed the repository:

    rm -rf /media/ata-WDC_WD15EADS-00P8B0_WD-WMAVU0748851-part1/mp3
    git remote rm backup

But now, oddly enough, the webapp would see the external drive after being restarted, and I was able to add that drive.

What am I doing wrong? how is the assistant finding those drives? --[[anarcat]]

repo_name: kakafarm/git

license: unknown


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.227"
 subject="separation of concerns"
 date="2013-12-29T17:57:36Z"
 content="""
It doesn't make sense for the git-annex assistant to try to somehow detect and mount drives. Every OS has its own way to do that.

The assistant simply detects drives that have been mounted by the OS.

There is absolutely no problem with manually setting up a git repository on a removable drive and using it with the assistant. This is identical to what the assistant would set up for an external drive (except perhaps being a non-bare repository). The assistant simply detects if any git remote whose url is a directory is inside a mount point when it sees a new device be mounted.
"""]]


code:
[[!comment format=mdwn
 username="https://id.koumbit.net/anarcat"
 ip="2001:1928:1:9::1"
 subject="comment 2"
 date="2013-12-30T17:47:26Z"
 content="""
Fair enough, I guess. However, I must say that it seems that git-annex doesn't actually detect properly externally mounted hard drives. For example, here I have an annex in /srv/foo that is part of my system hard drive (but in a separate /srv partition). Then I made a backup annex in /backup/srv/foo that is on an external hard drive, yet the webapp sees those two repos as under its control - as in, i can choose both in the \"switch repository\" menu.

Another drive I was able to add using the \"add external drive\" tool in the webapp doesn't show up in that list (and that's fine too!).
"""]]


code:
I'm starting out with git-annex and running into some confusion with setting up the remotes.

I have three systems I'm trying to set up (domains edited):

* psychosis: ssh://psychosis.foo.com/vid
* bacon: ssh://bucket.foo.com/vid
* bucket: ssh://bucket.bar.org/vid

And one bare repository so that I can have a single place to push/pull:

* origin: https://git.foo.com/jim/vid.git

On psychosis:

    psychosis$ git config --list | grep ^remote | sort
    remote.bacon.annex-uuid=8f1f0898-f8c1-11e0-9bf2-b387af26ee63
    remote.bacon.fetch=+refs/heads/*:refs/remotes/bacon/*
    remote.bacon.url=ssh://bucket.foo.com/vid
    remote.bucket.annex-uuid=82814942-f8e0-11e0-b053-e70a61e98e19
    remote.bucket.fetch=+refs/heads/*:refs/remotes/bucket/*
    remote.bucket.url=ssh://bucket.bar.org/vid
    remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
    remote.origin.url=https://git.foo.com/jim/vid.git

    psychosis$ git annex status
    supported backends: WORM SHA1 SHA256 SHA512 SHA224 SHA384 SHA1E SHA256E SHA512E SHA224E SHA384E URL
    supported remote types: git S3 bup directory rsync web hook
    known repositories:
            09c0b436-f8de-11e0-842f-b7644539d57f -- here (psychosis)
            82814942-f8e0-11e0-b053-e70a61e98e19 -- bucket
    local annex keys: 2256
    local annex size: 449 gigabytes
    total annex keys: 2256
    total annex size: 449 gigabytes
    backend usage:
            WORM: 2256

**First point of confusion**: Why doesn't "bacon" show up in "git annex status"?  I can "git annex copy --to bacon filename" and it will copy it there.  Is there some step of setting it up that I missed?  I basically just did "git remote add bacon ssh://bucket.foo.com/vid".

Now I've started setting up the remotes on each host:

On bacon:

    bacon$ git config --list | grep ^remote | sort
    remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
    remote.origin.url=https://git.foo.com/jim/vid.git
    remote.psychosis.annex-uuid=09c0b436-f8de-11e0-842f-b7644539d57f
    remote.psychosis.fetch=+refs/heads/*:refs/remotes/psychosis/*
    remote.psychosis.url=ssh://psychosis.foo.com/vid

    bacon$ git annex status
    supported backends: WORM SHA1 SHA256 SHA512 SHA224 SHA384 SHA1E SHA256E SHA512E SHA224E SHA384E URL
    supported remote types: git S3 bup directory rsync web hook
    known repositories:
            09c0b436-f8de-11e0-842f-b7644539d57f -- psychosis
            8f1f0898-f8c1-11e0-9bf2-b387af26ee63 -- here (bacon)
    temporary directory size: 366 megabytes (clean up with git-annex unused)
    local annex keys: 1
    local annex size: 308 bytes
    total annex keys: 2256
    total annex size: 449 gigabytes
    backend usage:
            WORM: 2256

On bucket:

    bucket$ git config --list | grep ^remote | sort
    remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
    remote.origin.url=https://git.foo.com/jim/vid.git
    remote.psychosis.annex-uuid=09c0b436-f8de-11e0-842f-b7644539d57f
    remote.psychosis.fetch=+refs/heads/*:refs/remotes/psychosis/*
    remote.psychosis.url=ssh://psychosis.foo.com/vid

    bucket$ git annex status
    supported backends: WORM SHA1 SHA256 SHA512 SHA224 SHA384 SHA1E SHA256E SHA512E SHA224E SHA384E URL
    supported remote types: git S3 bup directory rsync web hook
    known repositories:
            09c0b436-f8de-11e0-842f-b7644539d57f -- psychosis
            82814942-f8e0-11e0-b053-e70a61e98e19 -- here (bucket)
    temporary directory size: 183 megabytes (clean up with git-annex unused)
    local annex keys: 3
    local annex size: 550 megabytes
    total annex keys: 2256
    total annex size: 449 gigabytes
    backend usage:
            WORM: 2256

But I'm getting weird results if I try to show the map from psychosis:

    psychosis$ git annex map
    $ git annex map
    map /vid/tv ok
    map bacon (sshing...)
    ok
    map bucket (sshing...)
    ok
    map origin
    failed
    map psychosis (sshing...)
    jim@psychosis.foo.com's password:
    ok
    map psychosis (sshing...)
    jim@psychosis.foo.com's password:
    ok

      running: dot -Tx11 map.dot

**Second confusion**: it's as if psychosis was considered a new remote each time?
The generated map has psychosis listed with several redundant links:

![Map](http://jim.sh/~jim/tmp/map.png)

Is this some bug or do I just need to be hit with the clue bat?


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 1"
 date="2011-10-17T19:01:21Z"
 content="""
My guess is that psychosis has not pulled the git-annex branch since bacon was set up (or that bacon's git-annex branch has not been pushed to origin). git-annex status only shows remotes present in git-annex:uuid.log This may be a bug.

The duplicate links in the map I don't quite understand. I only see duplicate links in my maps when I have the same repository configured as two different git remotes (for example, because the same repository can be accessed two different ways). You don't seem to have that in your config.
"""]]


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 2"
 date="2011-10-17T19:02:50Z"
 content="""
Actually, there is a hint that, while you ran the git annex map on psychosis, it decided to ssh to itself two times. That seems to be where the duplicate links came from, I guess you must have some git remotes you did not show.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck"
 nickname="Jim"
 subject="comment 3"
 date="2011-10-17T19:50:06Z"
 content="""
No extra remotes (that I'm aware of); that output was only edited to change hostnames.

On all three hosts, \"git push origin\" and \"git pull origin\" say everything is up to date.

I'm using git-annex 3.20111011 on all hosts (although some were running 3.20110928 when I created the repositories).

Regarding the multiple links, I've put a copy of the dot file [here](http://jim.sh/~jim/tmp/map.dot).
It shows psychosis in three separate subgraphs, that are just getting rendered together as one,
if that helps clarify anything.

Wait, I just realized you said \"the git-annex branch\".  My origin only has \"master\".
Do you mean the one specifically named \"git-annex\"?  I thought that was something that
gets managed automatically, or is it something I need to manually check out and deal with?

Any other info I could provide?

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck"
 nickname="Jim"
 subject="comment 4"
 date="2011-10-17T20:36:51Z"
 content="""
Ok, after pushing the \"git-annex\" branch to origin, then \"git annex status\" knows all repositories on all hosts, so that part makes sense now.  Thanks for the tip.  But the \"git annex map\" output hasn't changed.

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck"
 nickname="Jim"
 subject="comment 5"
 date="2011-10-18T04:59:13Z"
 content="""
I think:

* The first extra edge is because bucket had \"ssh://psychosis.foo.com/vid/\", while
bacon had \"ssh://psychosis.foo.com/vid\" with no trailing slash.  That got lost in the hostname/path editing I did, sorry.
Maybe those should be considered matching?
* The second extra edge is because, when running \"git annex map\" from psychosis, it doesn't recognize the remote's
remote URL as pointing back to itself.

For the second case, after the \"spurious\" SSH, it could still recognize that the repositories are the same by the duplicated annex uuid, which currently shows up in `map.dot` twice.  I wonder what it would take to avoid the spurious SSH -- maybe some config that lists \"alternate\" URLs that should be considered the same as the current repository?  Or actually list URLs in uuid.log?  Fortunately, I think this only affects the map, so it's not a big problem.
"""]]


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 6"
 date="2011-10-22T01:18:27Z"
 content="""
Hmm, I don't see the spurious ssh edge in the dot file -- that is, I don't see any ssh:// uris in it?
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck"
 nickname="Jim"
 subject="comment 7"
 date="2011-10-22T05:25:47Z"
 content="""
I think that's because the SSH was successful (I entered the password and let it connect), so it got the UUID and put that in the .dot instead.  The same UUID (for psychosis) then ended up in two different \"subgraph\" stanzas, and Graphviz just plotted them together as one node.

Maybe this will clarify:

On psychosis, run \"git annex map\" and press ^C at the ssh password prompt: [map-nossh.dot](http://jim.sh/~jim/tmp/map-nossh.dot)
![Map](http://jim.sh/~jim/tmp/map-nossh.png)

On psychosis, run \"git annex map\" and type the correct password: [map-goodssh.dot](http://jim.sh/~jim/tmp/map-goodssh.dot)
![Map](http://jim.sh/~jim/tmp/map-goodssh.png)

As I see it:

* psychosis (\"localhost\") connects to each of its remotes
* some of them point back to ssh://psychosis
* psychosis doesn't know that ssh://psychosis is itself, so it tries to connect
* if successful:
  * psychosis gets put twice in the .dot as if it was two different hosts, one \"local\" and one \"ssh://psychosis\"
  * graphviz recognizes it as the same node because the UUID is the same, but graphviz still draws the extra connecting lines
* if unsuccessful:
  * ssh://psychosis is shown as an additional host that can't be reached
"""]]


code:
I've been syncronizing my data since long time, mainly using rsync or unison. Thus I had two 3.5Gb datasets set1 (usb drive, hfs+ partition) and set2 (hdd, ext4 ubuntu 13.04 box) which differed only in 50Mb (new on set1 ). This was double checked using diff -r before doing anything.

I created a git annex repo in direct mode for set2 from command line, and after that I let the assistant scan it.
After that created the repo for set1 and added it to the assistant. I think here comes my mistake (I think).

Instead of keeping them apart, at told assistant to sync with set2.
Why I think this was a mistake? Because set2 was indexed and set1 no, and I'm seeing a lot of file moving a copying, which in my humble opinion should not happen.
What I expected it only the difference to be transferred from set1 to set2.
What it seems to be doing is moving away all content in set1, and copying it back from set2. I think it will end correctly, but with a lot of unnecessary and risky operations.

I think I should have independently added both datasets, let them be scanned and then connect to each other.
So, now the questions:

1. Is that the correct way to proceed?
2. What if I have to identical files with different modifying times, I hope they are not synced, right?
3. Is it posssible to achieve this behaviour of copying only the 50Mb?

Thanks in advance and keep up the good work.
Best regards,
             Juan

EDIT: a couple of questions more:

4. after finishing, set2 ended with a lot of symlinks but only in one subfolder. To prevent this should I put numcopies in 2?
5. This data is composed of input datasets and output simulations. Thus, I need to change them often, but not as often as code and in a very partial way (chunks of 50Mb). For me direct mode is the best (or plain git). However, I was wondering, it is possible to drop some files (even in direct mode) and use simlinks instead?


code:
[[!comment format=mdwn
 username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
 nickname="Hamza"
 subject="comment 1"
 date="2013-08-23T16:17:58Z"
 content="""
I did something similar for my videos, I've created the repo on one machine add the video files then cloned it on the other machine then reinjected the files in to the cloned repo.

http://joeyh.name/blog/entry/moving_my_email_archives_and_packages_to_git-annex/
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.0.63"
 subject="comment 2"
 date="2013-08-23T18:23:52Z"
 content="""
If you need to preserve mtimes, or differentiate between files with identical content but different mtimes, neither git nor git-annex is going to do what you want, since git doesn't care about preserving much file metadata.

As far as importing two sets of files on two computers, the best thing to do is import each, and then let the two sync up. Otherwise, when you're running the assistant it will start downloading the first set you import to the second computer, before the second set is added there, and do extra work. Although once the duplicate files from the second set land in the second git repository, the assistant will avoid any additional redundant transfers.

(The assistant never *moves* files, if both repositories are configured to be in the default client repository group. It only copies.)

I don't understand question #1. \"set2 ended with a lot of symlinks but only in one subfolder\" doesn't make sense to me, or rather I could interpret it to mean any of dozen things (none of which seem likely)

You can `git annex drop` files in direct mode. However, if you're running the assistant, it will try to get them back. You can configure your repository to be in manual mode to prevent the assistant doing that, or not use the assistant, or configure a [[preferred_content]] expression to make the assistant do something more custom like not try to get files located in a \"olddata\" directory.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmTNrhkVQ26GBLaLD5-zNuEiR8syTj4mI8"
 nickname="Juan"
 subject="comment 3"
 date="2013-08-25T13:00:04Z"
 content="""
Thanks. It is very clear now. I think I got it running. I have 2 direct mode copies in my ubuntu box and in the USB drive and one indirect in my ultrabook (small SSD).
What I meant is that even in direct mode, after sync ended, the set I indexed first ended with the contents of a folder in the .git dir using symlinks. But it might have been a leftover of previous attempts.
I think I got confused by the great amount of flexibility it provides.
Thanks.
"""]]


code:
hi, i'm trying to set up my notebook and desktop pc to sync my documents. so i used local computers in the web app as a sync option, but on my notebook i get the following error:

    [2013-11-26 11:29:03 CET] main: Pairing in progress
    X11 forwarding request failed
    /home/max/.ssh/git-annex-shell: line 4: exec: git-annex-shell: not found
    X11 forwarding request failed on channel 0
    /home/max/.ssh/git-annex-shell: line 4: exec: git-annex-shell: not found
    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights
    and the repository exists.
    [2013-11-26 11:29:31 CET] PairListener: Syncing with desk_Private_Dokumente
    X11 forwarding request failed on channel 0
    /home/max/.ssh/git-annex-shell: line 4: exec: git-annex-shell: not found
    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights
    and the repository exists.

    merge: refs/remotes/desk_Private_Dokumente/master - not something we can merge

    merge: refs/remotes/desk_Private_Dokumente/synced/master - not something we can merge
    X11 forwarding request failed
    /home/max/.ssh/git-annex-shell: line 4: exec: git-annex-shell: not found
    X11 forwarding request failed on channel 0
    /home/max/.ssh/git-annex-shell: line 4: exec: git-annex-shell: not found
    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights
    and the repository exists.

my desktop succeeded in adding the repository.

any idea whats going wrong ?

thanks


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.64"
 subject="comment 1"
 date="2013-11-26T20:18:26Z"
 content="""
The problem seems to be on your desktop computer. /home/max/.ssh/git-annex-shell is a script that is created if you install git-annex from the standalone tarball (assuming you're using linux?). It seems that your desktop has that script, but you must have deleted that instalation of git-annex (perhaps you switched to installing it some other way), so the script doesn't work. As long as you have git-annex-shell in your PATH somehow, you can just remove /home/max/.ssh/git-annex-shell
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnX1msQxnLoSeu7q-i-c9BWghonsN7Qmns"
 nickname="Jan Ulrich"
 subject="Same error after deleting .ssh/git-annex-shell"
 date="2014-06-11T15:53:17Z"
 content="""
Hi,

I get the error before and after I deleted .ssh/git-annex-shell on my Ubuntu desktop:

    janulrimacbook2:Movies juh$ git annex sync
    commit  ok
    pull sokrates.local_Videos
    bash: /home/juh/.ssh/git-annex-shell: Datei oder Verzeichnis nicht gefunden
    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights
    and the repository exists.
    failed
    push sokrates.local_Videos
    bash: /home/juh/.ssh/git-annex-shell: Datei oder Verzeichnis nicht gefunden
    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights
    and the repository exists.

      Pushing to sokrates.local_Videos failed.

       (non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote's git config)
    failed
    git-annex: sync: 2 failed

Git-annex version on macbook:

    git-annex version: 5.20140605-gc2add53
    build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash
    key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
    remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external
    local repository version: 5
    supported repository version: 5
    upgrade supported from repository versions: 0 1 2 4

Git-annex version on Ubuntu desktop:

    git-annex version: 5.20140517
    build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash
    key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
    remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external
"""]]


code:
Hi,

I'm wondering what the difference between the network signal and network sync icons are in the web-app?  Nothing stands out to me why some repos have one some the other?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.114"
 subject="comment 1"
 date="2014-04-26T23:03:46Z"
 content="""
The signal icon shows when there's a direct connection to another repositoriry. This leats your repository immediately learn when there is a change, triggering a sync. Without any signal icons, there's no fast syncing when changes are made, so the webapp will prompt for you to set up such a connection.
"""]]


code:
Do not place git-annex enabled git repository inside your Dropbox folder!

You will encounter broken symlinks and git-annex complaining about lost files. Dropbox [doesn't preserve case of file names](https://www.dropbox.com/help/145/en) and this breaks storage of annexed files (.git/annex/objects/). For possible recovery see <http://git-annex.branchable.com/bugs/interference_with_Dropbox_results_in_data_loss>.


code:
[[!comment format=mdwn
 username="sascha"
 ip="2a02:8108:5c0:3ec:615a:1ac3:c7b9:a3a9"
 subject="so how can i keep in sync a dropbox subfolder with a usbdrive"
 date="2014-01-24T04:32:38Z"
 content="""
my usecase is i want to be able to be working on other computers on files that i have on my thumb-usb-drive. Back home i want to sync changes back to the subfolder of my local Dropbox-directory. Any suggestions?
"""]]


code:
When I was checking out disk usage on my home directory, I noticed a bunch of files stored in .git/annex/tmp under their own filenames, rather than in .git/annex/objects.  Checking a couple, they seem to be redundant with stuff in .git/annex/objects.

Is there any way to clean that stuff up?  Will the assistant eventually clean it up?

Thanks!


code:
[[!comment format=mdwn
 username="http://edheil.wordpress.com/"
 ip="173.162.44.162"
 subject="comment 10"
 date="2013-06-06T13:16:50Z"
 content="""
Huh, at some point this happened again.  Ended up with 8 gigs of files in that tmp dir.  Cleaning out again.  Yay, disk space!
"""]]


code:
[[!comment format=mdwn
 username="stoile"
 ip="2a01:198:242:0:219:66ff:fef2:c021"
 subject="Same problem here"
 date="2013-11-16T12:10:55Z"
 content="""
I got the same problem on linux. Under what circumstances does \"git annex unused\" not find files in .git/annex/tmp? Maybe it is possible to improve \"git annex unused\"...
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmkXtBdMgE1d9nCz2iBc4f85xh4izZ_auU"
 nickname="Ulrich"
 subject="Wow. Found >180 GB of data in annex/tmp"
 date="2013-11-24T21:53:29Z"
 content="""
… no wonder my disk was filling up. On Mac OS X 10.9…
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.87"
 subject="comment 13"
 date="2013-12-12T20:01:09Z"
 content="""
The people who are apparently still having this problem need to provide details about the names of the files in the temp directory. Otherwise, I cannot fix whatever problem you are encountering.
"""]]


code:
[[!comment format=mdwn
 username="http://alan.petitepomme.net/"
 nickname="Alan Schmitt"
 subject="comment 14"
 date="2014-04-04T11:07:31Z"
 content="""
I just discovered there were 30GB in this tmp directory. Here are the file names. It seems that the file names are partial (they are missing some characters: it seems most file names are missing the last 16 characters and the file extension). As I'm in dire need of disk space, I'm going to delete this files now.

    schmitta@top-wifi ~/D/a/.g/a/tmp (GIT_DIR!)> pwd
    /Users/schmitta/Documents/annex/.git/annex/tmp
    schmitta@top-wifi ~/D/a/.g/a/tmp (GIT_DIR!)> ls -al
    total 73802184
    drwxr-xr-x  91 schmitta  staff        3094 16 mar 11:15 .
    drwxr-xr-x  34 schmitta  staff        1156  4 avr 12:58 ..
    -r--r--r--@  6 schmitta  staff   132882914  8 déc 20:17 12426.
    -r--r--r--@  6 schmitta  staff   113471066  8 déc 20:15 12426.2-
    -r--r--r--@  6 schmitta  staff   148673586  8 déc 20:24 12427.
    -r--r--r--@  6 schmitta  staff    96197733  8 déc 20:09 12427.2-
    -r--r--r--@  6 schmitta  staff   132882914  8 déc 20:17 12489.
    -r--r--r--@  6 schmitta  staff   113471066  8 déc 20:15 12489.2-
    -r--r--r--@  6 schmitta  staff   148673586  8 déc 20:24 12490.
    -r--r--r--@  6 schmitta  staff    96197733  8 déc 20:09 12490.2-
    -r--r--r--@  6 schmitta  staff   132882914  8 déc 20:17 12498.
    -r--r--r--@  6 schmitta  staff   113471066  8 déc 20:15 12498.2-
    -r--r--r--@  6 schmitta  staff   148673586  8 déc 20:24 12499.
    -r--r--r--@  6 schmitta  staff    96197733  8 déc 20:09 12499.2-
    -r--r--r--@  6 schmitta  staff   132882914  8 déc 20:17 12504.
    -r--r--r--@  6 schmitta  staff   113471066  8 déc 20:15 12504.2-
    -r--r--r--@  6 schmitta  staff   148673586  8 déc 20:24 12505.
    -r--r--r--@  6 schmitta  staff    96197733  8 déc 20:09 12505.2-
    -r--r--r--@  6 schmitta  staff   132882914  8 déc 20:17 12562.
    -r--r--r--@  6 schmitta  staff   113471066  8 déc 20:15 12562.2-
    -r--r--r--@  6 schmitta  staff   148673586  8 déc 20:24 12563.
    -r--r--r--@  6 schmitta  staff    96197733  8 déc 20:09 12563.2-
    -r--r--r--   2 schmitta  staff  1237391994 21 déc 19:27 BTSM With Flowerchild Li562
    -r--r--r--   2 schmitta  staff  1097868668 18 déc 13:24 BTSM with Flowerchild 562
    -r--r--r--   3 schmitta  staff   181962494  1 déc 05:19 Cosmos - A Personal Voyage - Episod422
    -r--r--r--   3 schmitta  staff   199341564 17 déc 14:28 Cosmos - A Personal Voyage - Episod423
    -r--r--r--   3 schmitta  staff   196677905  9 jan 08:36 Cosmos - A Personal Voyage - Episod424
    -r--r--r--   3 schmitta  staff   196671683 26 déc 19:36 Cosmos - A Personal Voyage - Episod425
    -r--r--r--   3 schmitta  staff   199297657 19 jan 14:33 Cosmos - A Personal Voyage - Episod426
    -r--r--r--   3 schmitta  staff   194250261 18 jan 17:10 Cosmos - A Personal Voyage - Episod427
    -r--r--r--   3 schmitta  staff   216726281 16 jan 16:26 Cosmos - A Personal Voyage - Episod428
    -r--r--r--   3 schmitta  staff   204634401 16 jan 12:17 Cosmos - A Personal Voyage - Episod429
    -r--r--r--   3 schmitta  staff   179412519 11 jan 11:29 Cosmos - A Personal Voyage - Episod430
    -r--r--r--   3 schmitta  staff   181962494  1 déc 05:19 Cosmos - A Personal Voyage - Episod572
    -r--r--r--   3 schmitta  staff   199341564 17 déc 14:28 Cosmos - A Personal Voyage - Episod573
    -r--r--r--   3 schmitta  staff   196677905  9 jan 08:36 Cosmos - A Personal Voyage - Episod574
    -r--r--r--   3 schmitta  staff   196671683 26 déc 19:36 Cosmos - A Personal Voyage - Episod575
    -r--r--r--   3 schmitta  staff   199297657 19 jan 14:33 Cosmos - A Personal Voyage - Episod576
    -r--r--r--   3 schmitta  staff   194250261 18 jan 17:10 Cosmos - A Personal Voyage - Episod577
    -r--r--r--   3 schmitta  staff   216726281 16 jan 16:26 Cosmos - A Personal Voyage - Episod578
    -r--r--r--   3 schmitta  staff   204634401 16 jan 12:17 Cosmos - A Personal Voyage - Episod579
    -r--r--r--   3 schmitta  staff   179412519 11 jan 11:29 Cosmos - A Personal Voyage - Episod580
    -r--r--r--   3 schmitta  staff   237284500 15 mai  2012 Cosmos - A Personal Voyage - Episode422
    -r--r--r--   3 schmitta  staff   207386296 28 jan 18:39 Cosmos - A Personal Voyage - Episode423
    -r--r--r--   3 schmitta  staff   194659898 28 jan 20:35 Cosmos - A Personal Voyage - Episode424
    -r--r--r--   3 schmitta  staff   221944244 11 jan 07:18 Cosmos - A Personal Voyage - Episode425
    -r--r--r--   3 schmitta  staff   237284500 15 mai  2012 Cosmos - A Personal Voyage - Episode572
    -r--r--r--   3 schmitta  staff   207386296 28 jan 18:39 Cosmos - A Personal Voyage - Episode573
    -r--r--r--   3 schmitta  staff   194659898 28 jan 20:35 Cosmos - A Personal Voyage - Episode574
    -r--r--r--   3 schmitta  staff   221944244 11 jan 07:18 Cosmos - A Personal Voyage - Episode575
    -r--r--r--   1 schmitta  staff   166417358 25 nov 08:47 Icy Plays - Kerbal Space Program - Better Than Starting Mann456
    -r--r--r--   2 schmitta  staff  1110410229 28 déc 00:40 Kerbal Space Program - BTSM With Flowerchild Li562
    -r--r--r--   1 schmitta  staff   898936971 26 déc 06:22 Let's Play Minecraft Better Than Wolves   Ep 10 _ HARDCORE _ Ooooh le petit mat572
    -r--r--r--   1 schmitta  staff   816306596 27 déc 05:08 Let's Play Minecraft Better Than Wolves   Ep 11 _ HARDCORE _ Un peu de cannabis pour le moral 572
    -r--r--r--   1 schmitta  staff   897143936 27 déc 10:42 Let's Play Minecraft Better Than Wolves   Ep 12 _ HARDCORE _ Chaud l'enf572
    -r--r--r--   1 schmitta  staff   922364739 29 déc 08:30 Let's Play Minecraft Better Than Wolves   Ep 13 _ HARDCORE _ Walking dea572
    -r--r--r--   1 schmitta  staff  1321555505  1 jan 02:15 Let's Play Minecraft Better Than Wolves   Ep 14 l HARDCORE l Couvre572
    -r--r--r--   1 schmitta  staff   889592223  5 jan 02:07 Let's Play Minecraft Better Than Wolves   Ep 15 l HARDCORE l Pa572
    -r--r--r--   1 schmitta  staff   153571799  6 jan 03:56 Let's Play Minecraft Better Than Wolves   Ep 16 l HARDCORE l Point de s572
    -r--r--r--   1 schmitta  staff  1036932250  9 jan 07:36 Let's Play Minecraft Better Than Wolves   Ep 17 l HARDCORE l Satané meuh572
    -r--r--r--   1 schmitta  staff  1289798767 11 jan 22:08 Let's Play Minecraft Better Than Wolves   Ep 18 l HARDCORE l Un Moulin572
    -r--r--r--   1 schmitta  staff  1582120875 19 jan 15:39 Let's Play Minecraft Better Than Wolves   Ep 19 l HARDCORE l Explosion de ca572
    -r--r--r--   1 schmitta  staff   728469432 13 fév 07:02 Let's Play Minecraft Better Than Wolves   Ep 2 _ HARDCORE _ Préparation pour l'explorat422
    -r--r--r--   1 schmitta  staff   911653518 22 jan 13:35 Let's Play Minecraft Better Than Wolves   Ep 20 l HARDCORE l Minesha572
    -r--r--r--   1 schmitta  staff  1377428597 28 jan 08:43 Let's Play Minecraft Better Than Wolves   Ep 21 l HARDCORE l Terreur en sous-sol o_O !572
    -r--r--r--   1 schmitta  staff  1376224927  4 fév 03:24 Let's Play Minecraft Better Than Wolves   Ep 22 l HARDCORE l Machinerie infern572
    -r--r--r--   1 schmitta  staff  1102293665 13 fév 03:56 Let's Play Minecraft Better Than Wolves   Ep 23 l HARDCORE l Piston chenil572
    -r--r--r--   1 schmitta  staff  1835677068 19 fév 09:14 Let's Play Minecraft Better Than Wolves   Ep 24 l HARDCORE l Piston chenille et o_Oce572
    -r--r--r--   1 schmitta  staff   753740284 30 déc 19:31 Let's Play Minecraft Better Than Wolves   Ep 3 _ HARDCORE _ First pioche en fer422
    -r--r--r--   1 schmitta  staff  1019022279 30 déc 18:38 Let's Play Minecraft Better Than Wolves   Ep 5 _ HARDCORE _ Fonderie super desi572
    -r--r--r--   1 schmitta  staff   788714805 30 déc 17:47 Let's Play Minecraft Better Than Wolves   Ep 6 _ HARDCORE _ Minage de la mor572
    -r--r--r--   1 schmitta  staff   778987710 23 déc 19:56 Let's Play Minecraft Better Than Wolves   Ep 7 _ HARDCORE _ Diamant572
    -r--r--r--   1 schmitta  staff   644564981 23 déc 23:06 Let's Play Minecraft Better Than Wolves   Ep 8 _ HARDCORE _ Et le poulet ma572
    -r--r--r--   1 schmitta  staff   871173289 24 déc 10:44 Let's Play Minecraft Better Than Wolves   Ep 9 _ HARDCORE _ Araignée verte de la jun572
    -r--------@  4 schmitta  staff   149520850 14 aoû  2010 OPLSS10-Mc422
    -r--------@  4 schmitta  staff    95020824 14 aoû  2010 OPLSS10-Mc423
    -r--------@  4 schmitta  staff    98980596  1 sep  2010 OPLSS10-Mc424
    -r--------@  4 schmitta  staff   207525348  1 sep  2010 OPLSS10-Mc425
    -r--------@  4 schmitta  staff   149520850 14 aoû  2010 OPLSS10-Mc534
    -r--------@  4 schmitta  staff    95020824 14 aoû  2010 OPLSS10-Mc535
    -r--------@  4 schmitta  staff    98980596  1 sep  2010 OPLSS10-Mc536
    -r--------@  4 schmitta  staff   207525348  1 sep  2010 OPLSS10-Mc537
    -r--------@  4 schmitta  staff   149520850 14 aoû  2010 OPLSS10-Mc572
    -r--------@  4 schmitta  staff    95020824 14 aoû  2010 OPLSS10-Mc573
    -r--------@  4 schmitta  staff    98980596  1 sep  2010 OPLSS10-Mc574
    -r--------@  4 schmitta  staff   207525348  1 sep  2010 OPLSS10-Mc575
    -r--r--r--@  2 schmitta  staff   150781568 10 mar 13:34 XD300-23_68HighlightsAResearchCntAugHuma469
    -r--r--r--@  2 schmitta  staff   145745487 10 mar 13:36 XD300-24_68HighlightsAResearchCntAugHuma469
    -r--r--r--@  2 schmitta  staff   142414085 10 mar 13:36 XD300-25_68HighlightsAResearchCntAugHuma469
    -r--------@  2 schmitta  staff   548973365  7 jan 20:21 laumond-20120119449.mp4
    -r--r--r--@  2 schmitta  staff  1820482781  8 mar 18:15 salt-020131469
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="216.145.95.162"
 subject="comment 15"
 date="2014-05-19T15:43:52Z"
 content="""
Since version 5.20140517, the git-annex assistant will automatically clean up stale tmp files on startup.

If not using the assistant, you can do it yourself..

So far, all the tmp files people have been kind enough to share the details about with me seem to be created by the assistant when it locks a file down. I know this can result in dangling files if the computer is rebooted while the assistant is in the middle of doing that.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.6.49"
 subject="comment 1"
 date="2012-11-29T19:35:41Z"
 content="""
These are partially downloaded files. You can use `git annex unused` to clean them up. The assistant doesn't yet explicitly clean these up, but it does keep retrying (and when possible, resuming) failed downloads until they succeed, at which point the temp file is moved into the objects directory.
"""]]


code:
[[!comment format=mdwn
 username="http://edheil.wordpress.com/"
 ip="173.162.44.162"
 subject="comment 2"
 date="2012-11-29T19:53:33Z"
 content="""
that's odd... these files are on my client machine, and shouldn't be downloaded from anywhere, just uploaded to other places.  There are lots and lots of them.

git-annex unused only found two files, and there are dozens and dozens of these files in my .git/annex/tmp directory.

Would it be safe to delete them by hand?

(The only thing I can think of that might e relevant is, some of these have definitely been moved from place to place within my repo.  I use \"git mv\" when I do that.  Maybe I messed that up somehow, and git-annex thought they had disappeared and needed to be re-downloaded from a remote repo?)

"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.6.49"
 subject="comment 3"
 date="2012-11-29T20:22:01Z"
 content="""
No, moving files within the repository is unlikely to be related.

If you can show me what the filenames look like I'll have a much better chance of getting somewhere, since they do not seem to be filenames that `git annex unused` knows how to deal with, and so I don't know what they could be.
"""]]


code:
[[!comment format=mdwn
 username="http://edheil.wordpress.com/"
 ip="173.162.44.162"
 subject="comment 4"
 date="2012-11-29T20:33:09Z"
 content="""
They're the full actual filenames (but not directories) of particular files in my repository, sometimes with numeric suffixes (or rather, numbers before the file suffixes), like this:

746.DS_Store
747.DS_Store
748.DS_Store
749.DS_Store
Birdplane87712.mp4
Birdplane87713.mp4
Bodyrock87712.mp4
Bodyrock87713.mp4
Dubstep Violin- Lindsey Stirling- Crystallize746.mp4
Dubstep Violin- Lindsey Stirling- Crystallize87712.mp4
Dubstep Violin- Lindsey Stirling- Crystallize87713.mp4
Handlebars (fan video)87712.mp4
Handlebars (fan video)87713.mp4
Handlebars (official)87712.mp4
Handlebars (official)87713.mp4

Most of them are videos, and I've moved videos around a lot in my repository, and made some mistakes doing so from time to time when I was first learning git-annex, and fooling around on the command line -- breaking symlinks and figuring out how to fix that with git-annex fix.

"""]]


code:
[[!comment format=mdwn
 username="http://edheil.wordpress.com/"
 ip="173.162.44.162"
 subject="comment 5"
 date="2012-11-29T20:47:36Z"
 content="""
Oh, another stupid thing I might have done --

* added files to the repo, and not realizing it might take assistant a while to recognize and add them all, gotten impatient
* added them myself, but did it with \"import\" instead of \"add\" so I was git-annex importing files from *inside* git-annex, with an assistant process running at the same time.

Might not be relevant, just trying to think of weird things I've done.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.6.49"
 subject="comment 6"
 date="2012-11-29T20:53:34Z"
 content="""
Ah, I think I know what this is. When the assistant notices a new file appear, it makes a hard link in the temp directory to the new file, and waits for it to stop being written to.

If the hard link is broken before the assistant is done adding the file to the annex, it looks like it could leave the temp file behind. I've committed a change that should avoid that.

Since some of these are OSX DS_Store files, and the rest have a strange number added (which git-annex did not do), I suspect you moved them into the annexed directory using the OSX Finder or something like that, and whatever was putting them into the directory first wrote them with the names we see here. Then, while git-annex was still processing them, they got renamed.

I'd say you can safely delete them.
"""]]


code:
[[!comment format=mdwn
 username="http://edheil.wordpress.com/"
 ip="173.162.44.162"
 subject="comment 7"
 date="2012-11-29T22:15:11Z"
 content="""
Sounds likely!!  I'll get to deleting, and when I get a chance I'll grab your latest commit and recompile.

"""]]


code:
[[!comment format=mdwn
 username="http://edheil.wordpress.com/"
 ip="173.162.44.162"
 subject="comment 8"
 date="2012-11-29T22:15:55Z"
 content="""
(thanks very much!)
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawl2Jj8q2upJL4ZQAc2lp7ugTxJiGtcICv8"
 nickname="Michael"
 subject="comment 9"
 date="2013-02-20T10:23:12Z"
 content="""
I'm seeing this too, and the number being added to the file name is the PID of the git-annex process.
"""]]


code:
my school uses moodle for our classes.  We have to sign in and then manually click to download each file, assignment and video uploaded.  I asked the school's tech administrator if there was a direct way I could access the videos through the ssh access they've given us to one of the servers, but he said it wasn't possible.

when I click on the link shown, the location I see is: http://moodle.jct.ac.il/mod/resource/view.php?id=135374
Inspect element gives more information. the response from the server is:

    Remote Address:147.161.6.59:80
    Request URL:http://moodle.jct.ac.il/mod/resource/view.php?id=135374
    Request Method:GET
    Status Code:303 See Other
    Request Headersview source
    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:en-US,en;q=0.8,he;q=0.6
    Connection:keep-alive
    Cookie:visid_incap_97364=qJx2WaKqQfGidGf9VfM6QWrnlFIAAAAAQUIPAAAAAAC5EXcbt00vqNu9jdVDwEDN; __utma=98014340.1409421308.1381214363.1381214363.1390387318.2; __utmz=98014340.1381214363.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); MoodleSession5771=7s1cfqfo4ahdtmna5h7vserg97; MOODLEID1_5771=%257F%25D39%2522N%25B4%25AFY
    DNT:1
    Host:moodle.jct.ac.il
    Referer:http://moodle.jct.ac.il/course/view.php?id=20151
    User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36
    Query String Parametersview sourceview URL encoded
    id:135374
    Response Headersview source
    Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Connection:Keep-Alive
    Content-Encoding:gzip
    Content-Language:he
    Content-Length:503
    Content-Type:text/html
    Date:Mon, 16 Jun 2014 12:31:22 GMT
    Expires:Thu, 19 Nov 1981 08:52:00 GMT
    Keep-Alive:timeout=15, max=100
    Location:http://moodle.jct.ac.il/pluginfile.php/288409/mod_resource/content/0/movie%205773/150151.5773.week1.wmv?forcedownload=1
    Pragma:no-cache
    Server:Apache/2.2.14 (Ubuntu)
    Vary:Accept-Encoding
    X-Powered-By:PHP/5.3.2-1ubuntu4.24

this then pulls the following:

    Remote Address:147.161.6.59:80
    Request URL:http://moodle.jct.ac.il/pluginfile.php/288409/mod_resource/content/0/movie%205773/150151.5773.week1.wmv?forcedownload=1
    Request Method:GET
    Status Code:200 OK
    Request Headersview source
    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:en-US,en;q=0.8,he;q=0.6
    Connection:keep-alive
    Cookie:visid_incap_97364=qJx2WaKqQfGidGf9VfM6QWrnlFIAAAAAQUIPAAAAAAC5EXcbt00vqNu9jdVDwEDN; __utma=98014340.1409421308.1381214363.1381214363.1390387318.2; __utmz=98014340.1381214363.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); MoodleSession5771=7s1cfqfo4ahdtmna5h7vserg97; MOODLEID1_5771=%257F%25D39%2522N%25B4%25AFY
    DNT:1
    Host:moodle.jct.ac.il
    Referer:http://moodle.jct.ac.il/course/view.php?id=20151
    User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36
    Query String Parametersview sourceview URL encoded
    forcedownload:1
    Response Headersview source
    Accept-Ranges:bytes
    Cache-Control:max-age=86400
    Connection:Keep-Alive
    Content-Disposition:attachment; filename="150151.5773.week1.wmv"
    Content-Length:1353673203
    Content-Type:application/x-forcedownload
    Date:Mon, 16 Jun 2014 12:31:23 GMT
    ETag:675e7d2cffd7a79afd8686c59ff2533f9e3508b7
    Expires:Tue, 17 Jun 2014 12:31:23 GMT
    Keep-Alive:timeout=15, max=99
    Last-Modified:Fri, 19 Jul 2013 17:06:54 GMT
    Pragma:
    Server:Apache/2.2.14 (Ubuntu)
    X-Powered-By:PHP/5.3.2-1ubuntu4.24

when I right-click on the second one in the inspect element window, I can select "copy as cURL" i get:

    curl 'http://moodle.jct.ac.il/pluginfile.php/288409/mod_resource/content/0/movie%205773/150151.5773.week1.wmv?forcedownload=1' -H 'DNT: 1' -H 'Accept-Encoding: gzip,deflate,sdch' -H 'Accept-Language: en-US,en;q=0.8,he;q=0.6' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Referer: http://moodle.jct.ac.il/course/view.php?id=20151' -H 'Cookie: visid_incap_97364=qJx2WaKqQfGidGf9VfM6QWrnlFIAAAAAQUIPAAAAAAC5EXcbt00vqNu9jdVDwEDN; __utma=98014340.1409421308.1381214363.1381214363.1390387318.2; __utmz=98014340.1381214363.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); MoodleSession5771=7s1cfqfo4ahdtmna5h7vserg97; MOODLEID1_5771=%257F%25D39%2522N%25B4%25AFY' -H 'Connection: keep-alive' --compressed

if I append " > week1.wmv" to the end of that output it downloads fine.  How can I add this file to a git-annex repo?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 1"
 date="2014-06-16T17:55:13Z"
 content="""
`git annex addurl` does not support storing cookies needed to access files. I doubt that makes sense anyway, since most login cookies expire.

So, your best bet seems to just be to `git annex add` the file after you download it.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 2"
 date="2014-06-16T17:59:20Z"
 content="""
Another option would be to set up some kind of http proxy that adds the login cookie to requests.. If you really wanted to use `git annex addurl`.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 3"
 date="2014-06-16T18:04:48Z"
 content="""
Actually, a simpler option may be to set `annex.http-headers` in the git config, to the appropriate http headers that set the cookie.
"""]]


code:
I have a music repository which has multiple versions of a music file(modified id3 tags etc,.) and in my music player same file is showing two times with two different id3 tags, one is from music directory and another is from .git-annex directory which is a older version(which I don't want to see).

I was just wondering if there is a way I can drop old version of a file in android(direct mode).


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 1"
 date="2014-03-10T17:59:01Z"
 content="""
What you're looking for is `git annex unused` and `git annex dropunused`
"""]]


code:
I have Ubuntu and Debian systems, playing with git-annex. This is not mission critical data, just testing. I ended up with an extra duplicate of the media files on the laptop.

The whereis listing is lots and lots like this:

whereis 00-Unsorted/2008-RobustStats-AmerPsyc.pdf (3 copies)
        67e69242-d57c-4b50-aaf9-74876b899962
        9e0bc9e4-f8bf-11e3-b9c1-9b4158540a9d -- pols110.pols.ku.edu_mediashare (
pdf and mp3)
        d82d2e6f-9200-49cf-86a3-1d674a768971 -- here (pauljohn@dellap14:~/medias
hare)
ok

(I'm pretty sure) This happened because I copied the media files to /home/pauljohn/mediashare/manuscripts manually, and then I used the git-annex assistant to set up the remote linkage to same content, from  the workstation, and it apparently copied in a whole new set.

How to clean this up? Without erasing everything and starting over?

Can I guess?

Open a terminal and git remove manually 67e69242-d57c-4b50-aaf9-74876b899962 ???

Thanks in advance if you care to advise me :)

Paul Johnson
http://pj.freefaculty.org


code:
[[!comment format=mdwn
 username="https://openid.stackexchange.com/user/e65e6d0e-58ba-41de-84cc-1f2ba54cf574"
 nickname="Mica Semrick"
 subject="comment 1"
 date="2014-06-24T04:24:12Z"
 content="""
You should first try `git-annex unused` and if that doesn't work just `git-annex drop` the unwanted files.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkpIIYg6Fl7OFsOHVPEchZYj68A3dk4lVg"
 nickname="Paul"
 subject="please explain"
 date="2014-07-01T13:45:08Z"
 content="""
Sorry. I just don't understand.
what am I doing wrong?  How to remove extra copy:

<pre>
whereis WaldTest/Vaeth_WaldTest.pdf (3 copies)
        67e69242-d57c-4b50-aaf9-74876b899962
        9e0bc9e4-f8bf-11e3-b9c1-9b4158540a9d -- pols110.pols.ku.edu_mediashare (pdf and mp3)
        d82d2e6f-9200-49cf-86a3-1d674a768971 -- here (pauljohn@dellap14:~/mediashare)
ok
pauljohn@dellap14:~/mediashare/manuscripts$ git annex drop 67e69242-d57c-4b50-aaf9-74876b899962
git-annex: 67e69242-d57c-4b50-aaf9-74876b899962 not found
pauljohn@dellap14:~/mediashare/manuscripts$ git annex drop WaldTest/67e69242-d57c-4b50-aaf9-74876b899962
git-annex: WaldTest/67e69242-d57c-4b50-aaf9-74876b899962 not found
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.55"
 subject="comment 3"
 date="2014-07-03T19:20:49Z"
 content="""
\"67e69242-d57c-4b50-aaf9-74876b899962\" is the UUID of a git annnex repository that git-annex has on record as containing the file. Since it does not have a description set (which normally gets done automatically when setting up the repository), and is not one of the remotes of the repository where you ran `git annex whereis`, it's a bit hard to tell what repository that is.

What I would do in this situation is:

1. Look around my computers for a repository with that UUID. You can run this command in a repository to see its uuid: `git config annex.uuid`
2. If I found it, I'd run `git annex describe here \"something sensible\"` and maybe set it up as a remote of other repositories and then `git annex drop` the data from it if desired.
3. If I was unable to find the repository, I might assume it was one I created before, and have removed. Then I'd tell git-annex that: `git annex dead 67e69242-d57c-4b50-aaf9-74876b899962` (if it turns out I was wrong and the repository turns up later, this can always be reversed by running `git annex semitrust 67e69242-d57c-4b50-aaf9-74876b899962`)
"""]]


code:
I've just tried using git annex assistant for the first time, to synchronize a shared directory between machines. This shared directory contains a collection of bare git repositories for various projects. Unfortunately this doesn't seem to work, as to be recognised as valid bare repos, they need to have the ref/heads and ref/tags subdirectories. git annex assistant fails to synchronise these, as they are empty.

What should I do? How can I make git annex reproduce the source directory structure when synchronising?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 1"
 date="2014-07-02T17:02:31Z"
 content="""
This is not a good idea. See <http://git-annex.branchable.com/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/#comment-29b91a7381453104e7bceea5e552cb85>
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmlO6w9_FAVe3v6MdnkePxaTJqp0RPbGhM"
 nickname="Tim"
 subject="comment 2"
 date="2014-07-04T04:00:25Z"
 content="""
Thanks - that thread was helpful. I now realise that what I was trying to do was not sensible, and I'll have to work out another approach.
"""]]


code:
Hi,

I setup a first repository on local disk, it went fine. Next I tried setting up repo on my nas to clone the files. I installed git-annex on the NAS (it's armel arch) and created the repository via webapp, I entered the password once. Git-annex started syncing the remote repo and after few seconds password pop-up hell broke loose. I was flooded with password-prompt pop-up windows. The synchronization was continuing regardless of correctly/incorrectly entered passwords. What's more, these popups grab the keyboard and you cannot do (appropriate word) with your system.

I checked this topic: http://git-annex.branchable.com/forum/ssh_password/ and ssh config is in place on my computer and on the NAS.

What is causing this and how can I get rid of this?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.152.108.193"
 subject="comment 1"
 date="2013-06-25T19:49:25Z"
 content="""
What version of git-annex? Did more than one password prompt window somehow appear at the same time? What is doing the ssh password prompting, is it ssh-askpass, or something provided by your desktop environment?

What happens if you manually ssh from your computer to the NAS, using the special hostname that git-annex has configured (you can find this hostname in the `.git/config`). `ssh -v` is generally a good way to track these problems down.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmUcCZeEK9HKV40JrcHMXAXpPKQPERt7iM"
 nickname="Włodek"
 subject="comment 2"
 date="2013-07-10T22:00:47Z"
 content="""
Thanks for the answer. I found out that the public key auth is not working at all and ssh falls back to password auth, this is the reason for password prompts. What I don't know yet is why popups appear despite giving correct password. I'm looking for a solution. This can take some time though because my disk died few days ago = I cannot check versions. Once I've got it solved I'll post back.
"""]]


code:
for the command:

    $ git annex info

I get the following output:

   repository mode: direct
   trusted repositories: error: refs/heads/git-annex does not point to a valid object!
   error: refs/heads/git-annex does not point to a valid object!
   error: invalid object 100644 993859515190743e9bed7fc8e697d5ac4e2d03a0 for '01d/56e/SHA256E-s209799168--cb8450b63c699c5f8fb121e51ed7e387258d57c851b256af0e5ceeae9542ffd8.me.avi.log'
   fatal: git-write-tree: error building trees
   git-annex: failed to read sha from git write-tree

Please help,
Yuval Langer.

BTW, the code formatting is kinda weird. Could you help with that as well?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 1"
 date="2014-05-15T20:22:40Z"
 content="""
This means that a git commit's data has gotten lost somehow. You can verify that by trying

    git show 993859515190743e9bed7fc8e697d5ac4e2d03a0

The most common reason for this to happen is if the system is shutdown unexpectedly while git-annex is running. Or, if this repository is on a removable drive, if it got removed before the data could be written.

You can probably fix the problem by running:

    git annex repair

(Code formatting: Use 4 spaces.)
"""]]


code:
Hi,

I was trying to install git-annex, but then, I got a warning saying that I need to install base-4.5.0.0 first.

So, I did "sudo cabal install base-4.5.0.0". Everything was going well, until I got this error:

config.status: error: cannot find input file: `base.buildinfo.in'
cabal: Error: some packages failed to install:
base-4.5.0.0 failed during the configure step. The exception was:
ExitFailure 1

I tried to look for information on the internet, but I did not find anything useful.

I know that this is not totally related to git-annex, but anyone has any thoughts on this?


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 1"
 date="2012-04-22T05:39:28Z"
 content="""
git-annex needs ghc 7.4, that's why it depends on that base version that comes with it. So you either need to upgrade your ghc, or you can build from the `ghc7.0` branch in [[git|download]], like this:

<pre>
git clone git://git-annex.branchable.com/ git-annex
cd git-annex
git checkout ghc7.0
cabal update
cabal install --only-dependencies
cabal configure
cabal build
cabal install --bindir=$HOME/bin
</pre>
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkaT0B6s9jQuMzQUYRVBgWqtO7BhT_ZSaE"
 nickname="Fernando Seabra"
 subject="comment 2"
 date="2012-04-22T14:09:33Z"
 content="""
Thanks for the fast response!

Unfortunately, I had another problem:

==================================
Building git-annex-3.20120419...
Utility/libdiskfree.c: In function ‘diskfree’:

Utility/libdiskfree.c:61:0:
     warning: ‘statfs64’ is deprecated (declared at /usr/include/sys/mount.h:379)
[  6 of 157] Compiling Build.SysConfig  ( Build/SysConfig.hs, dist/build/git-annex/git-annex-tmp/Build/SysConfig.o )
[ 15 of 157] Compiling Utility.Touch    ( dist/build/git-annex/git-annex-tmp/Utility/Touch.hs, dist/build/git-annex/git-annex-tmp/Utility/Touch.o )

Utility/Touch.hsc:118:21: Not in scope: `noop'
cabal: Error: some packages failed to install:
git-annex-3.20120419 failed during the building phase. The exception was:
ExitFailure 1
==================================

I also tried to look for information on the internet, and I did not find anything useful.
Any idea of what happened?

Thanks again!

"""]]


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 3"
 date="2012-04-22T15:23:26Z"
 content="""
That's my fault, I made a change last night that caused the noop problem. Fixed now.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkaT0B6s9jQuMzQUYRVBgWqtO7BhT_ZSaE"
 nickname="Fernando Seabra"
 subject="comment 4"
 date="2012-04-22T16:08:55Z"
 content="""
Thanks, it worked now!
"""]]


code:
I found this archival drive that had been offline since October 26th 2010. Since I released git-annex 0.02 on October 27th, this must have been made using the very first release of git-annex, ever.

So, I synced it back up! :) --[[Joey]]

<pre>
commit 4151f4595fe6205d4aed653617ab23eb3335130a
Author: Joey Hess <joey@kitenet.net>
Date:   Tue Oct 26 02:18:03 2010 -0400

joey> git pull
remote: Counting objects: 428782, done.
remote: Compressing objects: 100% (280714/280714), done.
remote: Total 416692 (delta 150923), reused 389593 (delta 125143)
Receiving objects: 100% (416692/416692), 44.71 MiB | 495 KiB/s, done.
Resolving deltas: 100% (150923/150923), completed with 818 local objects.
 * [new branch]      git-annex  -> origin/git-annex
   1893f9c..9ebcc0e  master     -> origin/master
Updating 1893f9c..9ebcc0e
Checking out files: 100% (76884/76884), done.
joey> git annex version
git-annex version: 3.20110611
local repository version: unknown
default repository version: 3
supported repository versions: 3
upgrade supported from repository versions: 0 1 2
joey> git config annex.version 0
joey> git annex upgrade
upgrade . (v0 to v1...) (v1 to v2) (moving content...) (updating symlinks...)  (moving location logs...) (v2 to v3) (merging origin/git-annex into git-annex...)

  git-annex branch created
  Be sure to push this branch when pushing to remotes.
ok
</pre>


code:
I'm wanting to do essentially [[/tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant/]], that is prevent git-annex from annexing certain files (by extension), and rather manage them in git only.

This seems to work fine, and the assistant auto-adds them to git, and commits when I make changes, when in indirect mode.

However, in a direct mode repository, then the files are automatically annexed, and even if I create them in an indirect repo, and then change it, they are annexed.

Is this expected behaviour? Does the annex.largefiles setting only make sense in indirect mode?

--Walter


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 1"
 date="2013-05-19T20:29:14Z"
 content="""
I don't seem to be seeing the problem you describe in direct mode:

[[!format sh \"\"\"

joey@gnu:~/tmp/r2>git init
joey@gnu:~/tmp/r2>git annex init
joey@gnu:~/tmp/r2>git config annex.largefiles \"largerthan=100kb and not (include=*.c or include=*.h)\"
joey@gnu:~/tmp/r2>git annex direct
joey@gnu:~/tmp/r2>git annex assistant
joey@gnu:~/tmp/r2>dd if=/dev/urandom of=bigfile bs=1M count=1
1+0 records in
1+0 records out
joey@gnu:~/tmp/r2>echo \"main() { printf(\"hello, world!\n\") }\" > hello.c
\"\"\"]]

At that point, the bigfile was annexed, and the hello.c file was checked into git as a regular file.

Are you sure you have annex.largefiles correctly configured to exclude the files you don't want to be annexed?
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnSenxKyE_2Z6Wb-EBMO8FciyRywjx1ZiQ"
 nickname="Walter"
 subject="comment 2"
 date="2013-05-19T21:35:37Z"
 content="""
This seems to have stopped happening, after I installed a newer version (from git) of git-annex.

I might try and recreate it later, but for now it seems to work as expected.

Thanks for your help.
"""]]


code:
Before turning this into a 'todo' item i'd like to discuss the possibilities...

The idea is following:

Having a Laptop with a rather small SSD or some other mobile device i'd like to move files away which are not needed anymore.
The first thing is that the --to destination should be semi-automatically choosen, including ensuring enough replicas

    git annex move --away <path..>

should pick remotes which are suitable (either by configuration and/or other rules like disk utilization on the remote side).

I am rather new to git-annex and wondering if there is currently already something which gives similar results, esp not need to hand pick the remotes where to move files.

Further on there needs to be some way to find out which files are not needed anymore. On a first thought filtering by 'atime' would be nice, but nowadays mounting with noatime/relatime is common which would make this infeasible. To accomplish this, the assistant could (optionally) manage a lazy-atime by setting inotify or fanotify watches on all annexed files in a repository (close_nowrite) and queue/batch atime updates coarsely together. Then atimes on disk are only lazily updated (after some time expires, when the queue becomes full or at shutdown of the assistant), we can afford to loose some atime updates here in case of unexpected shutdowns (i rather wonder why the kernel has no lazy-atime option).

Then the assistant (or by crontab) one can schedule some regular maintenance. There are certainly plenty of options to consider here, for example a mobile device might prefer only to send files if connected to Wlan, someone wants to move files away until a certain threshold of free disk space is reached etc...

While at this, the assistant could also watch (fanotify) if someone tries to open a not available (dead symlinked) file, block that request, get the file and then proceed with the request.


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.0.21"
 subject="comment 1"
 date="2013-07-30T19:14:25Z"
 content="""
I think that you're conflating two different features.

First, there's the question of determining which remotes should store a file. The [[preferred_content]] expressions are a way to let the user define this in a way that makes sense for their setup. There's also the annex.diskreserve setting, to allow a remote to reject a file if it doesn't have space. The git-annex assistant can automatically apply those, and arrange to transfer files to all remotes that want a copy. Or you can do it on the command line using --auto. Perhaps it would be nice to have a `git annex copy --auto --to any`, to avoid needing to run copy multiple times to send to different remotes.

Second, there's the concept of expiring files. I don't think relatime would prevent using atime for this (git-annex could just set the atime to 0 when it first gets a file to work around relatime), and I don't like the idea of inotify watching all files just to work around noatime. I suppose that the preferred content expressions could have an atime check operation added to them. Although I guess you could just as well use `find`..

(Finally, I don't think there's a good way to block processes that are trying to open files that are not there, without using FuSE. And I don't know that a system that could block any program indefinitely waiting on some large files being pulled down from wherever would be one I'd want to use. This has prevented me from going down that path so far.)
"""]]


code:
[[!comment format=mdwn
 username="cehteh"
 ip="217.8.62.137"
 subject="comment 2"
 date="2013-07-30T20:29:11Z"
 content="""
I agree here are even more than 2 features involved.

I'd appreciate a 'git annex copy --auto --to any' like feature. The point is that this should not only copy data until diskreserve is hit but distribute data in some (configureable) way around all remotes. Preferred content is one part of that, available disksize another. The user might also choose destinations depending on location and bandwidth and balance load over multiple servers until enough replicas are distributed. Details have to be worked out.

Expiring content is another thing, i also thinking its most likely improper to add some atime watching thing to git-annex. Instead of that I am thinking to write a dedicated daemon which handles atime updates in userspace, this then could add some more rules to ignore accesses by other system tools (file indexers, users, etc). This makes such a expire facility completely independent from git annex and a user can choose if/what he likes.

Filtering out files which are not accessed recently can then be done by 'find' or something similar and piped into 'git annex move/copy/drop'.

And for your final note: fanotify can block accesses to files, it might be a bit ugly and certainly this is not for everyone, perhaps this could be externalized into some watching daemon too or if integrated to git-annex be treated very carefully and only be used if explicitly configured.

"""]]


code:
Is there an easy way to export annexed files out of the repository? (e.g. to make a copy elsewhere, send a file by email...)

Thanks,
Denis.


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.6.135"
 subject="comment 1"
 date="2012-06-15T19:25:59Z"
 content="""
Sure, you can simply:

    cp annexedfile ~

Or just attach the file right from the git repository to an email, like any other file. Should work fine.

If you wanted to copy a whole directory to export, you'd need to use the -L flag to make cp follow the symlinks and copy the real contents:

    cp -r -L annexeddirectory /media/usbdrive/
"""]]


code:
[[!comment format=mdwn
 username="http://denis.laxalde.org/"
 nickname="dlax"
 subject="nautilus"
 date="2012-06-15T19:57:31Z"
 content="""
Ah! I was fooled by nautilus which is not able to properly handle symlinks when copying. It copies links instead of target [[!gnomebug 623580]].
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.6.135"
 subject="comment 3"
 date="2012-06-16T03:26:37Z"
 content="""
That nautilous behavior is a bad thing when trying to export files out, but it's a good thing when just moving files around inside your repository...
"""]]


code:
First, I'm using a 2011 version because i'm getting this kind of errors from cabal install (on Fedora 16 and 17):

    $ cabal install git-annex --bindir=$HOME/.local/bin
    Resolving dependencies...
    cabal: cannot configure git-annex-3.20120406. It requires base >=4.5 && <5
    For the dependency on base >=4.5 && <5 there are these packages: base-4.5.0.0.
    However none of them are available.
    base-4.5.0.0 was excluded because of the top level dependency base -any

So I installed a 2011 version and it worked.

Now, when I add some files in the git annex repository I get an error:

    $ git annex add Photo\ Library/2010/06/28/IMG_4926.JPG
    add Photo Library/2010/06/28/IMG_4926.JPG (checksum...)
    git-annex: Photo Library/2010/06/28/IMG_4926.JPG: getFileStatus: does not exist (No such file or directory)
    failed
    git-annex: add: 1 failed

None of the other files in the same directory are a problem. The file content is not a problem either as I can move the file elsewhere and git annex add it w/o any problem. It's this file in this directory that causes the problem.

Something interesting though. If I move the file elsewhere, and git annex add it, there is no problem. Now, if I git mv the file back into its original location, and git annex fix the file, the symbolic link is wrong: instead of pointing to `../../../../.git/annex/objects/somefile` it points to  `../../../annex/objects/somefile` (notice the missing `../.git/` part of the path).

I can fix that by hand, and it works well, but that's very annoying. There are not much files having that bug though.

[Mildred](http://mildred.fr)


code:
[[!comment format=mdwn
 username="http://mildred.pip.verisignlabs.com/"
 subject="Manually fixing links doesn't even work"
 date="2012-04-12T15:46:54Z"
 content="""
I'm just answering myself: manually fixing symlinks doesn't always works. Sometimes the pre-commit hook will just rewrite the link to some wrong path.
"""]]


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 2"
 date="2012-04-12T16:29:58Z"
 content="""
This bug was fixed in git-annex 3.20120230. You have a few options to get the fix:

* Upgrade to ghc 7.4, the need for which is the cause of the cabal error message you pasted.
* Manually [[download]] from git, and `git checkout ghc7.0` -- that branch will build with your old ghc and has the fix.
* cherry-pick commit 51338486dcf9ab86de426e41b1eb31af1d3a6c87
"""]]


code:
[[!comment format=mdwn
 username="http://mildred.pip.verisignlabs.com/"
 subject="Thank you a lot"
 date="2012-04-13T07:28:10Z"
 content="""
Thank you,

I imagined it was something like that.
I 'm just sorry I posted that on the forum and not on the bugs section (I hadn't discovered it at that time). but now, if people search for this error, they should find this.

Note for Fedora users: unfortunately GHC 7.4 will not be shipped with Fedora 17 (which is still not released). The [feature page](https://fedoraproject.org/wiki/Features/GHC74) mention it for Fedora 18. I feel like I am using debian ... outdated packages the day of the release.

And many thanks for this wonderful piece of software.

Mildred
"""]]


code:
Hi

I am using git-annex even if people I exchange data with (currently) don‘t use it for there data. My idea behind this is that I would like to know from where I got a file, whom I gave a file and who does (probably) still have a copy of the file. To do this you need to trick git-annex location tracking feature a bit. I successfully managed to achieve this in a simple data exchange which only consisted of me coping over files to one of my git-annex repos. I did the following to make git-annex believe that the files are in two repos without the need to *copy* them around the repos.

This is what I did in this simple case:

1. mounted the drive from someone
2. made a clone of my git-annex repo on the filesystem which should hold the copy of the data
3. initialized the cloned repo with `git annex init "Drive from person X"`
4. imported the files to the cloned repo with `git annex import --duplicate $path_to_files_from_person_x`
5. `git annex sync` in the cloned repo
6. `git annex sync` in main repo
7. `git annex move . --to origin` in the cloned repo

The impotent part (and the limit) here was that you can not sync these two repos after you moved files to the main repo. The problem is that there will be situations where I will have to sync them also after moving files around (for example if I want to store new files in multiple repos (and not just one main repo), or if I also want to copy files over to drives from someone).

Note: I have also worked out a solution to allow someone to choose which files he/she would like to get as described [on superuser.com](http://superuser.com/a/717689).

Are there better ways to fake location information then the thing I came up with (except making multiple repos for one person/drive)? Can multiple remotes be merged to one remote?


code:
I'm getting this error, not exactly sure why... Here's the output of running git annex sync in my pictures folder:

	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","git-annex"]
	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","--hash","refs/heads/git-annex"]
	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/git-annex..7bf55ad4463cad9389cbb11e48334d151aacf45f","--oneline","-n1"]
	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/git-annex..f3331818fc79b6e9523e483b9d97aaec5c8da845","--oneline","-n1"]
	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/git-annex..6c3bee76aa98f5c789ddf89450b3bd52658171a6","--oneline","-n1"]
	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/git-annex..9329bf7ae5609b19e81d9605fdc990c87c5816dc","--oneline","-n1"]
	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/git-annex..ad7115c6108170dc54095f74632db339dbca4cdd","--oneline","-n1"]
	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] chat: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","cat-file","--batch"]
	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] read: git ["config","--null","--list"]
	commit
	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","ls-files","--stage","-z","--others","--exclude-standard","--","C:\\Users\\Name\\Pictures"]
	[2014-06-29 12:43:59 Mitteleurop├ñische Sommerzeit] chat: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","cat-file","--batch"]
	(Recording state in git...)
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","Hochzeit von NameB und NameC/2013-08-18_MVI_0583.MOV"]
	fatal: Out of memory? mmap failed: No such file or directory
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","Hochzeit von NameB und NameC/2013-08-18_MVI_0582.MOV"]
	fatal: Out of memory? mmap failed: No such file or directory
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","Hochzeit von NameB und NameC/2013-08-18_MVI_0417.MOV"]
	fatal: Out of memory? mmap failed: No such file or directory
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","Hochzeit von NameB und NameC/2013-08-17_MVI_9701.MOV"]
	fatal: Out of memory? mmap failed: No such file or directory
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2014/Hochzeit von Jana und Stefan/MVI_7168.MOV"]
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2456.JPG"]
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2452.JPG"]
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2450.JPG"]
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2449.JPG"]
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2448.JPG"]
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2447.JPG"]
	[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2443.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2439.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2436.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2431.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2430.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2425.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2424.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2423.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2421.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2418.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2417.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2416.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2415.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2411.JPG"]
	[2014-06-29 12:49:58 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2409.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2406.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2405.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2404.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2403.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2402.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2400.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2394.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2392.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2012/Event/IMG_2390.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0446.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0445.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0444.JPG"]
	[2014-06-29 12:49:59 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0443.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0442.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0441.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0440.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0438.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0437.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0436.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0435.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0434.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0433.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0432.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0431.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0368.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0367.JPG"]
	[2014-06-29 12:50:00 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0366.JPG"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0365.JPG"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","add","-f","2005/Amsterdam/CIMG0364.JPG"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","--head"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","diff-index","-z","--raw","--no-renames","-l0","--cached","HEAD"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","symbolic-ref","HEAD"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","--hash","refs/heads/annex/direct/master"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","write-tree"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","rev-parse","ec008c688692d3156b1aececf33a388f43e8c868:"]
	ok
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","symbolic-ref","HEAD"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","refs/heads/annex/direct/master"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","--verify","-q","refs/heads/synced/master"]
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/annex/direct/master..refs/heads/synced/master","--oneline","-n1"]
	pull HomeServerLocal
	[2014-06-29 12:50:01 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","fetch","HomeServerLocal"]
	[2014-06-29 12:50:02 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","--verify","-q","refs/remotes/HomeServerLocal/annex/direct/master"]
	[2014-06-29 12:50:02 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/annex/direct/master..refs/remotes/HomeServerLocal/annex/direct/master","--oneline","-n1"]
	[2014-06-29 12:50:02 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","--verify","-q","refs/remotes/HomeServerLocal/synced/master"]
	[2014-06-29 12:50:02 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/synced/master..refs/remotes/HomeServerLocal/synced/master","--oneline","-n1"]
	ok
	[2014-06-29 12:50:02 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","git-annex"]
	[2014-06-29 12:50:02 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","--hash","refs/heads/git-annex"]
	[2014-06-29 12:50:02 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/git-annex..7bf55ad4463cad9389cbb11e48334d151aacf45f","--oneline","-n1"]
	[2014-06-29 12:50:02 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/git-annex..f3331818fc79b6e9523e483b9d97aaec5c8da845","--oneline","-n1"]
	[2014-06-29 12:50:02 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/git-annex..6c3bee76aa98f5c789ddf89450b3bd52658171a6","--oneline","-n1"]
	[2014-06-29 12:50:03 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/git-annex..9329bf7ae5609b19e81d9605fdc990c87c5816dc","--oneline","-n1"]
	[2014-06-29 12:50:03 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/heads/git-annex..ad7115c6108170dc54095f74632db339dbca4cdd","--oneline","-n1"]
	[2014-06-29 12:50:03 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","branch","-f","synced/master"]
	[2014-06-29 12:50:03 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","branch","-f","master"]
	[2014-06-29 12:50:03 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","--verify","-q","refs/remotes/HomeServerLocal/synced/master"]
	[2014-06-29 12:50:03 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/remotes/HomeServerLocal/synced/master..refs/heads/synced/master","--oneline","-n1"]
	[2014-06-29 12:50:03 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","show-ref","--verify","-q","refs/remotes/HomeServerLocal/git-annex"]
	[2014-06-29 12:50:03 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","log","refs/remotes/HomeServerLocal/git-annex..git-annex","--oneline","-n1"]
	push HomeServerLocal
	[2014-06-29 12:50:03 Mitteleurop├ñische Sommerzeit] call: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","push","HomeServerLocal","+git-annex:synced/git-annex","annex/direct/master:synced/master"]
	Everything up-to-date
	[2014-06-29 12:50:04 Mitteleurop├ñische Sommerzeit] read: git ["--git-dir=C:\\Users\\Name\\Pictures\\.git","--work-tree=C:\\Users\\Name\\Pictures","push","HomeServerLocal","master"]
	ok

Any idea? Thanks in advance...


code:
[[!comment format=mdwn
 username="Idhup"
 ip="91.58.248.157"
 subject="System"
 date="2014-06-29T19:26:42Z"
 content="""
Forgot to tell: This is a Win7 x64 system, running git 1.9.2.msysgit.0 and

git-annex version: 5.20140517-gee56d21
build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feeds Quvi TDFA CryptoHash
key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.55"
 subject="comment 2"
 date="2014-07-04T17:55:45Z"
 content="""
<http://git-annex.branchable.com/bugs/git_annex_add_out_of_memory__63___mmap_failed:_No_such_file_or_directory/>
"""]]


code:
[[!comment format=mdwn
 username="Idhup"
 ip="91.58.248.157"
 subject="Didn't work"
 date="2014-07-06T17:46:01Z"
 content="""
Repacking in cygwin towards a smaller packsize did not help. I shrinked it down to 2 MB per packfile, I still got the errors.

When checking the debug output, you can see that git crashes when adding some large-ish .mov files. I'm not even sure if git's supposed to add them or if something went wrong with Windows/DirectMode. I executed git reset to remove pending additions that weren't supposed to be there, but to no avail.

Any ideas on how to fix that?
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.2"
 subject="comment 4"
 date="2014-07-10T20:16:28Z"
 content="""
[2014-06-29 12:49:57 Mitteleurop├ñische Sommerzeit] call: git [\"--git-dir=C:\\Users\\Name\\Pictures\\.git\",\"--work-tree=C:\\Users\\Name\\Pictures\",\"add\",\"-f\",\"Hochzeit von NameB und NameC/2013-08-17_MVI_9701.MOV\"]

When does git-annex in direct mode run \"git add -f\"? In stageDirect, when a file has been modified that is not an annexed file, but already has been committed  directly to git.

This certainly points in the direction of what the problem is with the repository. I think you need to take a look at `git log --stat \"Hochzeit von NameB und NameC/2013-08-18_MVI_0583.MOV\"` and see if it has been committed to git as a symlink or if it is indeed being stored as a Bin file in git.

Here's how the log would look for a regular git-annexed symlink:

 $somefile | 1 +
 1 file changed, 1 insertion(+)

And here for a binary file stored in git:

 $somefile | Bin 0 -> 1016920 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

If you find the latter in the log, then the author and commit message of the commit adding it would be interesting.

Hypothesis: Perhaps this repository started off on a Linux or OSX system, and you were using a git-annex older than 5.20131118, when the direct mode guard was added. You might have added this file back then and accidentially committed it directly to git.
"""]]


code:
I have a git installation on my web server (web faction hosting). It allows me to run repositories from my hosting account.

What I want is to use git-annex as a dropbox replacement. Specifically, the central repository being my web server and then using local installations on my 2 mac laptops (primarily), access through browser on windows, and access on android as well (browser or some other method).

I'm looking at the install instructions, walkthrough, etc. What I'm initially not clear on is whether I need to install git-annex on my (linux centOS) webserver and any machine through which I'm accessing the repo? Seems like that would be the case of course, but I wanted to validate.

Am I going to run into issues that folks might already be able to warn me about? Anything I need to know?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 1"
 date="2013-05-13T18:39:59Z"
 content="""
Sorry it took so long to get back to you.

You do not necessarily have to have git-annex installed on your web server. But it will open up one of the nicest ways to use git-annex with a server, which is to put a bare git repository on the server, and let git-annex send the contents of large files to that repository. It's fine to install any old version of git-annex on the server, they're all forwards and backwards compatable.

In any case, you need git-annex installed on any computers where you want to access the repository, certainly.

"""]]


code:
flickrannex -- is it a way to upload your images to flickr by putting them in a git annex directory, and make them retrievable from it handily that way?

Or is it a hack to exploit flickr's free storage, by allowing you to somehow wrap your files in images and uploading them?

My python and knowledge of how git annex's hooks work is not good enough for me to be certain by reading the code.

Thanks


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 1"
 date="2013-05-27T01:48:43Z"
 content="""
Little bit of both I think. Pictures uploaded by it are visible on flickr. You can configure a [[preferred_content]] expression so the flickr remote only wants *.jpg etc. Any other file is wrapped inside an image so flickr will accept it. It would probably be a good idea to configure git-annex to `untrust` your repository if using it this way.
"""]]


code:
[[!comment format=mdwn
 username="http://edheil.wordpress.com/"
 ip="99.54.57.201"
 subject="comment 2"
 date="2013-05-27T01:57:25Z"
 content="""
Cool, thanks!  I ran into some issues setting it up, I'll take those to github (I hadn't been able to get as far as setting it up with an annex)
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmkBwMWvNKZZCge_YqobCSILPMeK6xbFw8"
 nickname="develop"
 subject="I noticed you stopped filing issues on github"
 date="2013-06-02T10:38:04Z"
 content="""
Does that mean the hook is working properly for you properly now?

"""]]


code:
[[!comment format=mdwn
 username="http://edheil.wordpress.com/"
 ip="99.54.57.201"
 subject="comment 4"
 date="2013-06-02T20:27:08Z"
 content="""
it is, thank you!  working perfectly.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmkBwMWvNKZZCge_YqobCSILPMeK6xbFw8"
 nickname="develop"
 subject="comment 5"
 date="2013-06-02T20:29:48Z"
 content="""
Good :)
"""]]


code:
For test purposes I copied a folder into my local repository to do some tests.
I now had a look at the original folder size and the size of the repository and compared it to the original folder and the repo is about 2x bigger. How come?
=> http://screencast.com/t/Tvqe5P22Ux


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 1"
 date="2014-05-16T17:02:29Z"
 content="""
I don't have bandwidth to watch screencasts, so I can only guess.

My first guess would be that you used `git add` to check the files into a git repository. This will exactly double the disk space, since each file is now stored in .git/ as well as in the working tree. This is a problem that git-annex solves.

If you'd like to provide more information (cut and paste of details is useful), I can perhaps make more informed guesses. Or you could use `du` so see which files are taking up more space than you expect.
"""]]