code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkjWgG_L90szs6o4E8cBusol57zkcDhg7c"
 nickname="Tom"
 subject="comment 6"
 date="2013-01-11T07:44:11Z"
 content="""
I did what you said for a file, and checked the remote size as well. Local size of this file was 11.4 meg, remote was 1.3 megabytes.

    copy Paradox Interactive/Crusader Kings II/save games/Yngling/1066_09_15_2.ck2 (checking Womb_MacDocuments...) [2013-01-11 07:30:26 GMT] read: rsync [\"c0g@git-    annex-c0g:/raid/Tom/MacDocuments/87f/7f7/'GPGHMACSHA1--0148d706315885fac29c3a1dc0ec37b2835739a7/GPGHMACSHA1--0148d706315885fac29c3a1dc0ec37b2835739a7'\"]
     ok

    rsync c0g@git-annex-c0g:/raid/Tom/MacDocuments/87f/7f7/'GPGHMACSHA1--0148d706315885fac29c3a1dc0ec37b2835739a7/GPGHMACSHA1--0148d706315885fac29c3a1dc0ec37b2835739a7'
    -rw-r--r--     1290004 2013/01/10 17:37:14 GPGHMACSHA1--0148d706315885fac29c3a1dc0ec37b2835739a7
    0

    ~/Documents ± la Paradox\ Interactive/Crusader\ Kings\ II/save\ games/Yngling
    total 44728
    drwx------  4 c0g  staff       136 10 Jan 17:52 .
    drwx------  3 c0g  staff       102 10 Nov 20:53 ..
    -rw-r--r--  1 c0g  staff  11413707 10 Jan 17:52 1066_09_15.ck2
    -rw-r--r--  1 c0g  staff  11484448 10 Jan 17:52 1066_09_15_2.ck2

    [c0g@womb GPGHMACSHA1--0148d706315885fac29c3a1dc0ec37b2835739a7]$ ls -la
    total 1268
    drwxr-xr-x 2 c0g users    4096 Jan 10 12:37 .
    drwxr-xr-x 3 c0g users    4096 Jan 10 12:37 ..
    -rw-r--r-- 1 c0g users 1290004 Jan 10 12:37 GPGHMACSHA1--0148d706315885fac29c3a1dc0ec37b2835739a7

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkjWgG_L90szs6o4E8cBusol57zkcDhg7c"
 nickname="Tom"
 subject="comment 7"
 date="2013-01-11T07:52:17Z"
 content="""
I just compressed the documents folder, and it compresses down to 20 MB... I'm going to guess it stores as a compressed encrypted archive? How embarrasing for me!
"""]]

repo_name: kakafarm/git

license: unknown


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.7.238"
 subject="comment 8"
 date="2013-01-11T17:20:19Z"
 content="""
Aha! Yes, encryption includes compression.

So, only remaining question is why your USB drive seems to be using 2x the uncompressed file size. One possibility would be it could have old versions of files, or deleted files still stored in it. You could try running \"git annex unused\" in its repository to find them. Other than that, I'm not sure what it could be. You can look around in its .git/annex directory, and compare to your laptop's repository, and perhaps see what's using the space.
"""]]


code:
I've been toying with the idea of auto archiving files (that is - removing them from .) based on a set of rules.

Git already provides attribute management for files and I put together a simple script that tries to achieve the following:

* Look for files with X copies (including a local one)
* Verify that the file is not recent (defined as not having been dropped or getted within X days )
* Verify that the file has an annex.archive attribute
* Archive if the above is met

Here is the script:
http://pastebin.com/53iLqyPd

You just add the annex.archive attribute to files via .gitattributes to use

The script runs in preview mode... exec with autoArchive.sh commit to drop the files.

Open to thoughts / suggestions


code: I have a music directory under Nexus 5 which is a git-annex repository. If I sync the same with remote repository, newly added songs or modified songs(modifed id3 tags) will not sync with music player. But if I use Android File Transfer to transfer songs, it will sync music player. The songs which are transferred using git-annex will reflect in music player only after restart. Do we have to execute any command which will sync music player.


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.146"
 subject="comment 1"
 date="2014-03-05T20:40:50Z"
 content="""
This is probably done via intents or a similar interface. git-annex is not yet able to use such android api's, but if there is a command line way to send the message that a file has changed, which there probably is, I could look into making git-annex use it.
"""]]


code:
[[!comment format=mdwn
 username="EvanDeaubl"
 ip="67.128.198.190"
 subject="Workaround using external app"
 date="2014-03-07T14:57:39Z"
 content="""
A workaround for this is using an external app that pings the media scanner to rescan. It's an extra step to remember, but I haven't found it too much of a burden.

I use this one: <https://play.google.com/store/apps/details?id=com.addz.mediascanner>, but there are at least a dozen to choose from.

"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.154"
 subject="comment 3"
 date="2014-03-18T19:59:07Z"
 content="""
Turns out there is an open todo about this with details: [[todo/Use_MediaScannerConnection_on_Android]]
"""]]


code:
## Use case

A laptop with a relatively small hard drive has copies of a subset of
all annexed files.  When annexed files are changed externally and `git
annex sync` is run on the laptop, the stale local copies are
invalidated and their symlinks break.  How can I automatically fetch
the updated versions of these previously locally-cached files?

Because I only want a subset of files, I can't do

    git annex add --not --in here --and --in superset.

Because files may be renamed, the
[[tips/automatically_getting_files_on_checkout/]] solution, by making
`dir` specify the subset, will require manually and redundantly
tracking renames.

## Simple ( (?) ) feature addition to git-annex to support this

When locally-cached files are invalidated by `git-annex sync`,
git-annex could notify the user, and give them the option to
`git-annex get` the invalidated files.  Bonus points if the mechanism
allows this to be done at any point in the future, not just when
running `git-annex sync`.  The idea is that git-annex could track
which files, previously cached locally, have been invalidated
*unintentionally* by syncs, and treat them differently from files,
previously cached locally, that have been *intentionally* dropped
using `git-annex drop` or `git-annex move`.

## More generally

The ability to specify a collection of files to always cache locally
(something like a numcopies.here=1), which is robust to renames, would
work.  The "robust to renames" part seems tricky in git: whereas svn
attaches properties to files, and so properties are propagated by `svn
mv`, I believe git attributes are only specified by patterns in
.gitattributes files.

## Related questions / possible approaches

Other forum posts mention [[`git
subtree`|forum/git-subtree_support__63__/]] and [[sparse git
checkouts|forum/sparse_git_checkouts_with_annex/]], but I'm not
familiar with these features and from reading those questions it's
unclear if those approaches will work for me.  Does anyone more
familiar see how to adapt one of those features to my use case?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 subject="comment 1"
 date="2012-06-04T19:56:05Z"
 content="""
Personally, I deal with this problem by having a directory, or directories where I put files that I want to have on my partial checkout laptop, and run `git annex get` in that directory.

It's not a perfect solution, but I don't know that a perfect solution exists.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawlu7K3h7Ry1uDAU_ERYGuqt0LoGNJqGuRo"
 nickname="Nathan"
 subject="comment 2"
 date="2012-06-04T21:01:52Z"
 content="""
Joey, that sounds reasonable; I'll try it. Thanks!
"""]]


code: Not really important (who reads git annex commit messages anyways ;-)), but nice to have and maybe a nice task for someone who wants to play around with Haskell and git annex: It would be shiny if the auto-commit done by git annex sync would automatically create a sensible commmit message and description. E.g. if just one file is added, it could say „Added blubb“. If a few files are added, it could say „Added blubb, bla and n other files“, based on the file name length, and list the files in the long description. Lots of room for playing around :-)


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 1"
 date="2012-02-24T20:52:51Z"
 content="""
Took me a minute to see this is not about [[bugs/wishlist:_more_descriptive_commit_messages_in_git-annex_branch]], but about the \"git-annex automatic sync\" message that is used when committing any changes currently on the master branch before doing the rest of the sync.

So.. It would be pretty easy to `ls-files` the relevant files before the commit and make a message. Although this would roughly double the commit time in a large tree, since that would walk the whole tree again (git commit -a already does it once). Smarter approaches could be faster.. perhaps it could find unstaged files, stage them, generate the message, and then `git commit` the staged changes.

But, would this really be useful? It's already easy to get `git log` to show a summary of the changes made in such a commit. So it's often seen as bad form to unnecessarily mention which files a commit changes in the commit message.

Perhaps more useful would be to expand the current message with details like where the sync is being committed, or what
remotes it's going to sync from, or something like that.
"""]]


code:
[[!comment format=mdwn
 username="http://www.joachim-breitner.de/"
 nickname="nomeata"
 subject="comment 2"
 date="2012-02-24T23:09:03Z"
 content="""
Yes, it is really a minor point. And indeed, \"git log --summary\" is pretty good already. But I’d still think that at least the title could deserves some love. Including the Hostname or the name of the repository there is a good idea as well.
"""]]


code:
I can make `git-annex` automatically fetch files with the [[/preferred content]] setting and the `--auto` flag, and it works almost exactly like I expect it to work.

What I am missing is a way to make `git annex drop --auto` drop all files that are not wanted.

I would like to work with metadata and tags in such a way that I can have clones (with views) that have only exactly those files available which carry a tag (done), and all other files automatically removed from the annex (unless that would be unsafe).

Does anyone know how to achieve this?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="216.145.95.162"
 subject="comment 1"
 date="2014-05-19T15:41:05Z"
 content="""
`git annex drop --auto` *does* automatically drop files that are not wanted, according to your preferred content settings.

If your preferred content for a repo is `metadata=tag=done`, then only files tagged \"done\" will be kept in the repository.

Of course, files are only dropped if enough other copies can be verified to exist in other repositories..
"""]]


code:
I would like to use git annex between two locations (work and home) where essentially the two computers are never on at the same time.

I have set up a special remote (S3) to cater for file transfer between the sites, but still need some way of syncronising the git repositories between them.
I have access to a git server, but which doesn't have git-annex on it. So, I think that is all the components I need to get this working.

However, I don't want to have to manually sync my computers with the central server, so I would like the assistant to do it for me, in what is essentially the complement of the special remote.

What is the best way to accomplish this? I guess that this is a general git question, not specific to git annex.
I see some solutions [[http://stackoverflow.com/questions/3583061/automatically-mirror-a-git-repository]], but my git isn't really up to evaluating the options properly.

So, what do other people do in this situation?

--Walter


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 1"
 date="2013-04-22T18:58:08Z"
 content="""
The assistant can handle this syncing via a central bare remote. The only problem is that, since your server does not have git-annex installed, that remote will have annex-ignore set on it. That made the assistant not use it for syncing at all.

I've just committed a change to git that makes the assistant still use such a git remote for syncing the git repository, even though it cannot store file contents there.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnSenxKyE_2Z6Wb-EBMO8FciyRywjx1ZiQ"
 nickname="Walter"
 subject="comment 2"
 date="2013-04-22T20:37:59Z"
 content="""
That looks like exactly what I'm after!

I'm very impressed by the quick response. Keep up the great work!
"""]]


code:
Hi, I'm new to git annex and so far it's looking really useful. I'm convinced what I'm trying to achieve is possible, but I can't seem to hit upon the right combination. Here's what I'd like to set up.

One server with git annex / rsync / ssh access, but configured such that it contains a history of all the files as a full backup.
Two clients WITHOUT ssh access (these are portable machines and I'd rather not open any ports I don't absolutely have to).

I've used the assistant to set up syncing between all three, using a jabber account to send signals and the server to pass on the files between the machines. This all works beautifully. But what I can't seem to get right is the server / backup aspect. If I set up the server using the assistant as a remote, and set it to "full backup" from the drop down list, it doesn't seem to have any files in the repository except in the .git/annex/objects folder. Which are all cryptic file names and not really accessible. If I run commands such as

> git annex find

(which should list all files as far as I can tell) in the server repository, it doesn't list any files at all. As the clients are all set up as direct repositories I can't access any history of the files there, so this doesn't seem to be quite what I'm after. The sync is working, but I really want the backup / history aspect as well.

Does anyone know if what I want is possible? If so hopefully I'm close and someone can point out where I've gone wrong. I'm not afraid of the command line, but the assistant is a very convenient way to get started.

Thanks for your help.


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawk3HGoDpnOPob5jOjvIootmkve1-nCpRiI"
 nickname="Kalle"
 subject="ssh remote defaults to bare repo"
 date="2014-05-06T06:10:06Z"
 content="""
Hi,

When setting up a ssh remote the default is to create a repo without a human readable file structure. To achieve what you are looking for you have to initialize a git annex repo on the server and then add the remote to the clients. afaik this has to be done using the command line interface.

If i remember correctly you add remotes with `git remote add ssh://example.com/path/to/annex`

Cant find the docs atm (I'm commuting and at my final dest)

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawl2I59wfwq505F9W0a6f7sFDcC9neWcc24"
 nickname="Andrew"
 subject="comment 2"
 date="2014-05-06T12:45:05Z"
 content="""
OK that sounds reasonable. I'll give it a go.

I don't mind so much that the remote is not human readable as I wont be browsing directly on the remote, but what I did find disconcerting is that I didn't seem to be able to access any files. For example if I lose both the client machines, how do I get access to the files on the remote?
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawl2I59wfwq505F9W0a6f7sFDcC9neWcc24"
 nickname="Andrew"
 subject="Still missing something"
 date="2014-05-06T17:35:20Z"
 content="""
On the server I ran

git init
git annex init

On client I ran

git init
git annex init
git annex direct

then dropped some files in and ran

git sync

This didn't upload any files. I now have a broken link on the server without the actual file.

When I tried to set up the server in the same way, then used the web assistant to create the repository on the client and then combine it with the manually created repository on the server, it actually worked for the first file. I could see a working link to the file it had just uploaded. But any subsequent files didn't reflect in the file structure. Additional files would show up in the .git/annex/objects folder, but again I have no way to explore these. git annex find showed nothing, git annex status showed only the first file and git log didn't show much. I tried re-adding this remote to a new annex repository, but it didn't give me access to the files or the history of the files. I'm confused!

Is it me or is this not working as expected?
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawk3HGoDpnOPob5jOjvIootmkve1-nCpRiI"
 nickname="Kalle"
 subject="Some guesses"
 date="2014-05-06T19:43:02Z"
 content="""
If you don't need human readable file structure on the server you don't have to initialize the annex repo. Just create a \"remote server\" repo with the assistant and set it to \"full backup\" if you want all the files there all the time. Without the \"full backup\" setting I believe only files it thinks someone else needs will be uploaded.* This might solve your problem with symlinks as `git annex sync` syncs metadata, only moving actual data if required.

I'm not sure if the `git-annex find` command will work on a bare repo I can't test as all my repos are configured so that I can access the files in a normal way. Running `git-annex whereis $file` on the client should allow you to check if a file has been uploaded.

*Massive caveat as I'm really not sure
"""]]


code:
The current behaviour of 'fsck' is a bit verbose. I have an annex'd directory of tarballs for my own build system for "science" applications, there's about ~600 or so blobs in my repo, I do occassionally like to run fsck across all my data to see what files don't meet the min num copies requirement that I have set.

Would it be better for the default behaviour of fsck when it has not been given a path to only output errors and not bother to show that a file is ok for every single file in a repo. i.e.

    git annex fsck

should show only 'errors' and maybe a simple indicator showing the status (show a spinner or dots?) and when

    git annex fsck PATH/FILE

it should have the current behaviour?

Right now the current fsck behaviour might get annoying for anyone who would want to run fsck with repos with lots of big files.


code:
[[!comment format=mdwn
 username="http://joey.kitenet.net/"
 nickname="joey"
 subject="comment 1"
 date="2011-03-24T17:45:08Z"
 content="""
I tend to agree that the default output of fsck is not quite right. I often use git annex fsck -q. A progress spinner display is a good idea.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus"
 nickname="Jimmy"
 subject="comment 2"
 date="2011-03-26T10:57:41Z"
 content="""
After some thought, perhaps the default fsck output should be at least machine readable and copy and pasteable i.e.

<pre>
$ git annex fsck
Files with errors

    file1
    file2

</pre>

so I can then copy the list of borked files and then just paste it into a for loop in my shell to recover the files. it's just an idea.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U"
 nickname="Richard"
 subject="comment 3"
 date="2011-03-28T01:16:21Z"
 content="""
Another nice thing would be a summary of _what_ is wrong. I.e.

    % git fsck
    [...]
    git-annex: 100 total failed
      50 checksum failed
      50 not enough copies exit

And the same/similar for all other failure modes.

-- RichiH
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U"
 nickname="Richard"
 subject="comment 2"
 date="2011-03-25T11:23:04Z"
 content="""
FWIW, I wanted to suggest exactly the same thing.
"""]]


code:
Just a quick question: Can anyone recomment me a good to handle a centralized repository which is used by different users?

Requirements: must work in direct mode on both sides, server is Linux, clients are Windows and operated by 2 different users.

- Should the repository create bare or not?
- Must the repository created on the server or can it also be "pushed" from one client to the server (via SSH on the server)?
- Is there a better way for data transfer than SSH (WebDAV as in SVN)? I am still struggling with an elegant way to handle public keys in windows
- What is the best way to not only keep meta data in sync but also the data each of the users has checked out?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.2"
 subject="comment 1"
 date="2014-07-11T19:31:52Z"
 content="""
I suggest following this screencast: [[videos/git-annex_assistant_lan]]

While it talks about a local network, this will also work with a server on the internet.
"""]]


code:
[[!comment format=mdwn
 username="divB"
 ip="171.67.173.91"
 subject="comment 2"
 date="2014-07-11T21:56:29Z"
 content="""
Thanks, great work!

I wanted to avoid the assistant so far because I feel I do not get so much control (particularly which files are synced to the clients) but I think I'll start with the assistant ...

"""]]


code:
I have a bunch of removable storage devices and was planning on storing my data across
all of them.  I've run into an annoyance, and would like to see if anybody has any
ideas.

My goal was to have the full file tree on all the devices, but only a subset of the
annexed data.  Where I have run into trouble is removing data from the system.  It
seems that the "git annex unused" command checks remote branches as well as local ones
when determining whether an object is referred to.

This means that if I remove a file that is stored locally, "git annex unused" doesn't
report the corresponding object as unused until I either connect and update all
removable storage *or* remove the remote corresponding to the removable storage.  I
posted a bug about this inconsistency named
[[bugs/git annex unused considers remote branches which makes it inconsistent]].

If I used the removable storage as a special remote, then I wouldn't have this issue,
but I also wouldn't be able to conveniently use the files on it and manage the repo
from it either.


code:
Hi!

What is the best way to add again the content of file in an direct and crippled annex repository? I'm using such a repository on a SMB drive, with no symbolic links, that's why the repository is in direct mode.

For example:

`/disk/annex-rep/a.bin` contains the text `../.git/annex/objects/W3/M8/SHA256E-s4701522386--e486cce01b1870cee394a376a3acc64a608e84e38b85e6c21c29721cf14328e6.bin/SHA256E-s4701522386--e486cce01b1870cee394a376a3acc64a608e84e38b85e6c21c29721cf14328e6.bin`

and I've got the real content in another directory, outside annex: /disk/a.bin (contains the binary data)

I imagined this process:
* replace `/disk/annex-rep/a.bin` with `/disk/a.bin``
* update `git-annex:122/4b8/SHA256E-s4701522386--e486cce01b1870cee394a376a3acc64a608e84e38b85e6c21c29721cf14328e6.bin.log` by adding this repository uuid

I tried `git annex reinject` but it didn't work.

Is there another way?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.64"
 subject="comment 1"
 date="2013-11-26T19:54:21Z"
 content="""
There's a bug report asking that reinject work in direct mode. I just have not gotten around to it.

Another way to do it would be to make a temp directory in your annex repository, move or copy the file to there, and `git annex add`. As long as you're not using the WORM backend, the checksum will be used, and so it'll see it's added the content of the file, and make the a.bin file have that content too.

Off to see if I can easily add direct mode reinject now..
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.64"
 subject="comment 2"
 date="2013-11-26T20:18:56Z"
 content="""
Turned out to be trivial, so it's supported now.
"""]]


code:
I am new to git (but extensively used SVN).

In SVN I could have a big fat repository but only check out sub-trees is it.
Is that also common in git(-annex) / recommended?

E.g., should I create a big-fat repos with all data I have (personal data, music, videos, ...) and check out only the appropriate subtress or create a repository for each purpose? E.g., one for Fotos, Music, OnTheGoData, ebooks, ...

What happens if I have a git-annex repository checked out at my laptop (say, d:\Files) and within it, check out another one (e.g. d:\Files\Library)?


code:
[[!comment format=mdwn
 username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
 nickname="Hamza"
 subject="comment 1"
 date="2014-04-14T15:32:34Z"
 content="""
In my setup I have one repository for each category (photos documents videos) it is faster then single giant repository plus it makes sharing with other people easier since you can let people clone one category at a time.
"""]]


code:
[[!comment format=mdwn
 username="divB"
 ip="128.12.90.218"
 subject="comment 2"
 date="2014-04-15T18:23:13Z"
 content="""
Thank you, that's a good point!

Does this also mean that a repository in git(-annex) is \"all or nothing\"?

For example, I cannot share/clone parts of it? Or define access rights within a repository?

With SVN for example, I have a big repository \"university\" and it contains all stuff of projects/research. Each individual directory is only shared with the persons whom I worked together in this particular project. In short: In git, this should not be that way, right?
"""]]


code:
[[!comment format=mdwn
 username="http://id.clacke.se/"
 nickname="Claes"
 subject="comment 3"
 date="2014-04-17T14:04:31Z"
 content="""
Yeah, git does not have the concept of checking out subdirectories that subversion does. You could, however, have different branches with different content that live in the same repo and therefore share the same git-annex backend, so there could be overlap between what files are in what branch without them using up much extra disk space.
"""]]


code:
[[!comment format=mdwn
 username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
 nickname="Hamza"
 subject="comment 4"
 date="2014-04-18T09:16:44Z"
 content="""
with git you can not checkout parts of a repo it is all or nothing but with annex you can download your files dir by dir. When you clone you get symlinks for all files but only the files you want are downloaded.
"""]]


code:
[[!comment format=mdwn
 username="divB"
 ip="74.61.144.53"
 subject="comment 5"
 date="2014-04-19T05:38:43Z"
 content="""
Thanks!

But what to my question regarding checking out a repository within a repository?

I will most likely have a \"home\" repository which I would check out at first level.

Then, within one directory I would like to (only locally!) check out another, such as \"Library\".

Something like mount ... to mount one FS within another mount point.

For SVN I think there exist externals for that ...

Does this work?

"""]]


code:
I've been experiencing problems with Box.com for a few days now and I don't know what's causing them. Is anyone else experiencing anything similar?

I paste the log.

    [2013-09-02 12:27:26 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9", transferKey = Key {keyName = "c9e1d5421e78924c21e3d68e84f80a8d1f64f9488020107ca0eeee0c4f10e763.py", keyBackendName = "SHA256E", keySize = Just 1891, keyMtime = Nothing}}
    [2013-09-02 12:27:26 CEST] TransferScanner: queued Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/kgp/kant.xml Nothing : expensive scan found missing object
    [2013-09-02 12:27:26 CEST] Transferrer: Transferring: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/argecho.py Nothing
    [2013-09-02 12:27:26 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/argecho.py Nothing
    [2013-09-02 12:27:26 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/argecho.py Nothing

    100%          0.0 B/s 0s[2013-09-02 12:27:26 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/argecho.py Just 437
    ResponseTimeout
    ResponseTimeout

    [2013-09-02 12:27:44 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9", transferKey = Key {keyName = "dd3cc45d91430c6f7d68eb807f4ac1561cd0297b11a2de77b5fe66017d125798.py", keyBackendName = "SHA256E", keySize = Just 437, keyMtime = Nothing}}
    [2013-09-02 12:27:44 CEST] TransferScanner: queued Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/kgp/kgp.dtd Nothing : expensive scan found missing object
    [2013-09-02 12:27:44 CEST] Transferrer: Transferring: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/autosize.py Nothing
    [2013-09-02 12:27:44 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/autosize.py Nothing
    [2013-09-02 12:27:44 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/autosize.py Nothing

    100%          0.0 B/s 0s[2013-09-02 12:27:44 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/autosize.py Just 2861
    ResponseTimeout
    ResponseTimeout

    [2013-09-02 12:28:02 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9", transferKey = Key {keyName = "d6b7940ac68768a8e37e72f248e2d94f19fb0d47062084d9baf0ec08cebbf692.py", keyBackendName = "SHA256E", keySize = Just 2861, keyMtime = Nothing}}
    [2013-09-02 12:28:02 CEST] TransferScanner: queued Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/kgp/kgp.py Nothing : expensive scan found missing object
    [2013-09-02 12:28:02 CEST] Transferrer: Transferring: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/builddialectexamples.py Nothing
    [2013-09-02 12:28:03 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/builddialectexamples.py Nothing
    [2013-09-02 12:28:03 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/builddialectexamples.py Nothing

    100%          0.0 B/s 0s[2013-09-02 12:28:03 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/builddialectexamples.py Just 1090
    ResponseTimeout
    ResponseTimeout

    [2013-09-02 12:28:21 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9", transferKey = Key {keyName = "f1492b80d05b96cc7cf2904d461c99d430fa86a4eb1d99f1b155c9147ff4420f.py", keyBackendName = "SHA256E", keySize = Just 1090, keyMtime = Nothing}}
    [2013-09-02 12:28:21 CEST] TransferScanner: queued Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/kgp/russiansample.xml Nothing : expensive scan found missing object
    [2013-09-02 12:28:21 CEST] Transferrer: Transferring: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/colorize.py Nothing
    [2013-09-02 12:28:21 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/colorize.py Nothing
    [2013-09-02 12:28:21 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/colorize.py Nothing

    100%          0.0 B/s 0s[2013-09-02 12:28:21 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/colorize.py Just 4864
    ResponseTimeout
    ResponseTimeout

    [2013-09-02 12:28:40 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9", transferKey = Key {keyName = "b577eaf8b6ddbf9fef866c455cae248aec3b22e3f2e91aa2b75ece90f1801689.py", keyBackendName = "SHA256E", keySize = Just 4864, keyMtime = Nothing}}
    [2013-09-02 12:28:40 CEST] TransferScanner: queued Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/kgp/stderr.py Nothing : expensive scan found missing object
    [2013-09-02 12:28:40 CEST] Transferrer: Transferring: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/dialect.py Nothing
    [2013-09-02 12:28:40 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/dialect.py Nothing
    [2013-09-02 12:28:40 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/dialect.py Nothing

    100%          0.0 B/s 0s[2013-09-02 12:28:40 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/dialect.py Just 4449
    ResponseTimeout
    ResponseTimeout

    [2013-09-02 12:28:58 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9", transferKey = Key {keyName = "c5e5d9b1bee2710c7ed05270a363d3e93270b0fb6779c4c8d59ace06c11db684.py", keyBackendName = "SHA256E", keySize = Just 4449, keyMtime = Nothing}}
    [2013-09-02 12:28:58 CEST] TransferScanner: queued Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/kgp/stdout.py Nothing : expensive scan found missing object
    [2013-09-02 12:28:58 CEST] Transferrer: Transferring: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/fibonacci.py Nothing
    [2013-09-02 12:28:58 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/fibonacci.py Nothing
    [2013-09-02 12:28:58 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/fibonacci.py Nothing

    100%          0.0 B/s 0s[2013-09-02 12:28:58 CEST] TransferWatcher: transfer starting: Upload UUID "72111b4c-28fe-42fd-a77b-e4cb9240a1c9" Documentos/diveintopython-5.4/py/fibonacci.py Just 532


code:
[[!comment format=mdwn
 username="http://sunny256.sunbase.org/"
 nickname="sunny256"
 subject="It works here"
 date="2013-09-02T11:47:00Z"
 content="""
I set up a box.com remote a couple of months ago or so just for testing. Haven't used it that much, but I tested it now to see if it still works. No errors or problems. I have pasted the output from a session where I copied a file to box.com, dropped it locally, then got it back from box.com here: <https://gist.github.com/sunny256/6411972>. The computer I ran the test on is using the newest git-annex binary (v4.20130827), Ubuntu 10.04.4 LTS. Pretty old distro, but it still works.
"""]]


code:
I'd like to have a Debian/Ubuntu package of the latest git-annex (f.e. to have it installed systemwide). In the source I can find the debian/ folder with all needed information to build the package. But it looks like I don't have all needed dependencies on my Ubuntu 12.10:

    user@laptop(pc) ~/src/git/git-annex (git)-[master] % debuild -us -uc
    dpkg-buildpackage -rfakeroot -D -us -uc
    dpkg-buildpackage: source package git-annex
    dpkg-buildpackage: source version 3.20130115
    dpkg-buildpackage: source changed by Joey Hess <joeyh@debian.org>
    dpkg-source --before-build git-annex
    dpkg-buildpackage: host architecture amd64
    dpkg-checkbuilddeps: Unmet build dependencies: libghc-dav-dev (>= 0.3) libghc-dbus-dev (>= 0.10.3) libghc-yesod-dev libghc-yesod-static-dev libghc-yesod-default-dev libghc-hamlet-dev libghc-clientsession-dev libghc-warp-dev libghc-wai-dev libghc-wai-logger-dev libghc-case-insensitive-dev libghc-http-types-dev libghc-blaze-builder-dev libghc-crypto-api-dev libghc-network-multicast-dev libghc-network-info-dev libghc-safesemaphore-dev libghc-network-protocol-xmpp-dev (>= 0.4.3-1+b1) libghc-gnutls-dev (>= 0.1.4) libghc-xml-types-dev
    dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
    dpkg-buildpackage: warning: (Use -d flag to override.)
    debuild: fatal error at line 1357:
    dpkg-buildpackage -rfakeroot -D -us -uc failed
    user@laptop(pc) ~/src/git/git-annex (git)-[master] % apt-get install libghc-dav-dev libghc-dbus-dev libghc-yesod-dev libghc-yesod-static-dev libghc-yesod- default-dev libghc-hamlet-dev libghc-clientsession-dev libghc-warp-dev libghc-wai-dev libghc-wai-logger-dev libghc-case-insensitive-dev libghc-http-types-dev libghc-blaze-builder-dev libghc-crypto-api-dev libghc-network-multicast-dev libghc-network-info-dev libghc-safesemaphore-dev libghc-network-protocol-xmpp-dev libghc-gnutls-dev libghc-xml-types-dev
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package libghc-dav-dev
    E: Unable to locate package libghc-network-multicast-dev
    E: Unable to locate package libghc-network-info-dev
    E: Unable to locate package libghc-safesemaphore-dev

How can I build the package? Or would it be possible for you to build the package and add it to the "Install" page (like the prebuilt linux tarball)? That would be great!

Cheers and thanks for the hard work,
Tobias


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.7.238"
 subject="comment 1"
 date="2013-01-16T23:05:13Z"
 content="""
There is a package available already: <http://packages.debian.org/unstable/git-annex>

This will install even on Debian stable, I think.
"""]]


code:
Hi,

I have Problems building git-annex-3.20121112-19309, I rceive the following error:

...
  Loading object (static) dist/build/git-annex/git-annex-tmp/Utility/libmounts.o ... done
  final link ... done

  Assistant/Alert.hs:66:30:
      Warning: default newline style has changed, using an explicit $newline is recommended

  Assistant/Alert.hs:69:31:
      Warning: default newline style has changed, using an explicit $newline is recommended
  [157 of 279] Compiling Assistant.Types.DaemonStatus ( Assistant/Types/DaemonStatus.hs, dist/build/git-annex/git-annex-tmp/Assistant/Types/DaemonStatus.o )
  [158 of 279] Compiling Assistant.Monad  ( Assistant/Monad.hs, dist/build/git-annex/git-annex-tmp/Assistant/Monad.o )

  Assistant/Monad.hs:86:16:
      Couldn't match expected type `Assistant a'
                  with actual type `Reader AssistantData a'
      Expected type: (AssistantData -> a) -> Assistant a
        Actual type: (AssistantData -> a) -> Reader AssistantData a
      In the expression: reader
      In an equation for `getAssistant': getAssistant = reader

  Assistant/Monad.hs:93:15:
      Couldn't match expected type `Assistant t0'
                  with actual type `Reader r0 a0'
      In the return type of a call of `reader'
      In a stmt of a 'do' block: st <- reader threadState
      In the expression:
        do { st <- reader threadState;
             liftIO $ runThreadState st a }

  Assistant/Monad.hs:99:14:
      Couldn't match expected type `Assistant t0'
                  with actual type `Reader r0 a0'
      In the return type of a call of `reader'
      In a stmt of a 'do' block: d <- reader id
      In the expression:
        do { d <- reader id;
             liftIO $ io $ runAssistant d a }

  Assistant/Monad.hs:105:14:
      Couldn't match expected type `Assistant t0'
                  with actual type `Reader r0 a0'
      In the return type of a call of `reader'
      In a stmt of a 'do' block: d <- reader id
      In the expression:
        do { d <- reader id;
             return $ runAssistant d a }

  Assistant/Monad.hs:110:14:
      Couldn't match expected type `Assistant t0'
                  with actual type `Reader r0 a0'
      In the return type of a call of `reader'
      In a stmt of a 'do' block: d <- reader id
      In the expression:
        do { d <- reader id;
             return $ \ v -> runAssistant d $ a v }

  Assistant/Monad.hs:115:14:
      Couldn't match expected type `Assistant t0'
                  with actual type `Reader r0 a0'
      In the return type of a call of `reader'
      In a stmt of a 'do' block: d <- reader id
      In the expression:
        do { d <- reader id;
             return $ \ v1 v2 -> runAssistant d (a v1 v2) }

  Assistant/Monad.hs:120:12:
      Couldn't match expected type `Assistant a0'
                  with actual type `Reader r0 a1'
      In the return type of a call of `reader'
      In the first argument of `(>>=)', namely `reader v'
      In the expression: reader v >>= liftIO . io
  cabal: Error: some packages failed to install:
  git-annex-3.20121112 failed during the building phase. The exception was:
  ExitFailure 1


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.252.11.120"
 subject="comment 1"
 date="2012-11-18T17:49:57Z"
 content="""
What platform are you building on?

What version of ghc is installed?

What version of the haskell mtl library is installed? (`cabal list --installed --simple-output mtl`)
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmU_2tE75oyG0h2ZPN4lcroIKEMC8G-otE"
 nickname="Michael"
 subject="comment 2"
 date="2012-11-19T06:57:54Z"
 content="""
This is an Ubuntu 12.04 system (3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux)

ghc is 7.4.1

mtl info is:

MonadCatchIO-mtl 0.3.0.5
mtl 2.0.1.0

"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.6.49"
 subject="comment 3"
 date="2012-11-25T18:56:01Z"
 content="""
On my Debian system, where it builds ok, I have the same ghc version, but version 2.1.1 of mtl. I suspect your old version of that is the problem. You can try using cabal to install a newer mtl:

<pre>
  cabal update
  cabal install mtl
</pre>
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.6.49"
 subject="comment 4"
 date="2012-11-25T20:26:33Z"
 content="""
I was able to reproduce this build failure with the same old version of mtl you have. I've adjusted the cabal build dependencies to require a newer version.
"""]]


code:
Hi,

I try to install git-annex master with cabal, so I cloned the git repo and run "cabal install --only-dependencies". This gives me the following error:

    Resolving dependencies...
    cabal: Could not resolve dependencies:
    trying: git-annex-3.20120826 (user goal)
    trying: git-annex-3.20120826:+oldyesod
    trying: git-annex-3.20120826:+currentyesod
    next goal: yesod-default (dependency of git-annex-3.20120826:+oldyesod)
    rejecting: yesod-default-1.1.0 (conflict: git-annex-3.20120826:oldyesod =>
    yesod-default(<=1.0.1.1))
    rejecting: yesod-default-1.0.1.1, 1.0.1, 1.0.0, 0.6.1, 0.5.0, 0.4.1, 0.4.0,
    0.3.1 (conflict: git-annex-3.20120826:currentyesod => yesod-default(>=1.1.0))

Any idea how to fix this? (PS: I'm running Kubuntu 12.04)

Cheers,
Tobias


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.152.246.16"
 subject="comment 1"
 date="2012-08-29T16:01:00Z"
 content="""
Hmm, cabal is not as smart as I'd hoped it could be. I've removed the support for old version of yesod.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawniayrgSdVLUc3c6bf93VbO-_HT4hzxmyo"
 nickname="Tobias"
 subject="comment 2"
 date="2012-08-30T10:01:24Z"
 content="""
thanks, that resolved the dependency trouble.
But now:

    Building git-annex-3.20120826...
    Preprocessing executable 'git-annex' for git-annex-3.20120826...

    Utility/Yesod.hs:15:8:
        Could not find module `Data.Default'
        It is a member of the hidden package `data-default-0.5.0'.
        Perhaps you need to add `data-default' to the build-depends in your .cabal file.
        Use -v to see a list of the files searched for.

"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.152.246.16"
 subject="comment 3"
 date="2012-08-30T16:59:07Z"
 content="""
The Data.Default problem is fixed now.
"""]]


code: I threw together a pair of shell scripts for calculating the cost of a remote using ping times.  I don't know how useful this is in practice, but the theory seemed sound to me.  If I'm in a hotel room with my two laptops, I'd rather annex try to get a file from the other laptop than from my NAS all the way back home.  I'd love to figure out how to also detect if I'm on my VerizonWireless connection at the time and multiply the cost of all connections over the Internet accordingly, but that's down the road.  Latest versions of the pair of scripts will be at <https://gist.github.com/4410357>. I'm interested in feedback, so please fork the git repo on gist and send me changes/updates. Also of note is that these were written for MacOSX. If you're interested in using them on a different linux, pay attention to the format of the summary line of your ping command.


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U"
 nickname="Richard"
 subject="comment 1"
 date="2012-12-30T23:01:39Z"
 content="""
You may want to use hop count, not ping times, for a rough guesstimate of distance.

Generally speaking, this is a highly non-trivial problem that's subject to university research projects so unless you find a well-maintained third party tool to solve this problem, it's unlikely that you will find a truly general solution.

Anyway, look into mtr for your distance measurements.

Richard
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmRFKwny4rArBaz-36xTcsJYqKIgdDaw5Q"
 nickname="Andrew"
 subject="comment 2"
 date="2013-01-06T11:08:42Z"
 content="""
Yeah, I was debating between ping times (max or avg) and hop count and ultimately went with ping time because of this situation: From my office to my house is ~12 hops but because we peer with the cable modem provider the ping time is still ~5ms. But from my cell modem, it's ~8 hops but ping times of ~200ms.
"""]]


code:
Is it possible to story ordinary files in the git repository, or is this going to confuse git-annex? In other words, can I safely run

    git add .gitattributes
    git commit -m 'remember attributes' .gitattributes

..., or do I have to use `git-annex add` all time?


code:
[[!comment format=mdwn
 username="http://peter-simons.myopenid.com/"
 ip="77.12.196.1"
 subject="Solved"
 date="2011-07-13T16:21:25Z"
 content="""
I got my answer on #vcs-home: Yes, git-annex and git get along fine.
"""]]


code: On one my repos (git repo on github data on S3) I've started getting, `fatal: Cannot force update the current branch` `git-annex: failed to update refs/heads/master` other clones of this repository can sync fine but this one started failing after adding a couple of files.


code:
[[!comment format=mdwn
 username="http://cstork.org/"
 nickname="Chris Stork"
 subject="no annex/direct/master branch"
 date="2013-12-21T04:19:33Z"
 content="""
Same problem here:

    % git branch -a
      git-annex
    * master
      synced/git-annex
      synced/master
      remotes/HD02/git-annex
      remotes/HD02/master
      remotes/HD02/synced/git-annex
      remotes/HD02/synced/master

This is a direct mode repo, too.

It seems that git-annex didn't properly update the repo.  .git/config shows:

    [core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        ...
    [annex]
        ...
        version = 3
        direct = true

"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.227"
 subject="comment 11"
 date="2013-12-29T17:09:26Z"
 content="""
I've found a bug where a repo would for some unknown reason be in direct mode but v3, and so would not be auto-upgraded to v5. This explains at least what Chris Stork shows. But I think not what previous posters are experiencing. I've fixed that bug in git.
"""]]


code:
[[!comment format=mdwn
 username="http://cstork.org/"
 nickname="Chris Stork"
 subject="Bug fix confirmed"
 date="2014-01-30T15:29:56Z"
 content="""
Thank you, Joey!
FYI, my repo was automatically converted to version 5 and put on the annex/direct/master branch.
As Joey mentioned, this might only apply to my bug.
"""]]


code:
[[!comment format=mdwn
 username="Remy"
 ip="83.87.167.98"
 subject="comment 1"
 date="2013-12-02T19:32:18Z"
 content="""
i have the same problem on one of my repo's as well.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.64"
 subject="comment 2"
 date="2013-12-02T19:52:04Z"
 content="""
Post the version of git-annex you're using, and `git annex sync --debug` output.
"""]]


code:
[[!comment format=mdwn
 username="Remy"
 ip="83.87.167.98"
 subject="comment 3"
 date="2013-12-03T08:35:21Z"
 content="""
> git-annex version

	git-annex version: 5.20131117-gbd514dc
	build flags: Assistant Webapp 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 glacier hook
	local repository version: 5
	default repository version: 3
	supported repository versions: 3 5
	upgrade supported from repository versions: 0 1 2 4

> git-annex sync --debug bonus_remote

	[2013-12-03 09:23:07 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"show-ref\",\"git-annex\"]
	[2013-12-03 09:23:07 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
	[2013-12-03 09:23:07 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..37a902328b4806d1549bf174241339432105d756\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:07 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..5e25b4c5c8c28d48b212c079767827e27819c379\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:07 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..2245416c2355c9e00f560bcde15b8856d8f924be\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:07 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..18e56479af7031d179cd4f4af4138b15211bea26\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:07 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..b74c5b5cfeecfeace64a4b31aabd7163c6c28f42\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:07 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..88fd933c3dbb56d2527c19d6b462c61d9213535c\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:07 CET] chat: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"cat-file\",\"--batch\"]
	[2013-12-03 09:23:07 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"ls-files\",\"--stage\",\"-z\",\"--others\",\"--exclude-standard\",\"--\",\"/Users/remy/Sync\"]
	[2013-12-03 09:23:07 CET] chat: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"cat-file\",\"--batch\"]
	commit
	[2013-12-03 09:23:13 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"commit\",\"-m\",\"git-annex automatic sync\"]
	ok
	[2013-12-03 09:23:13 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"symbolic-ref\",\"HEAD\"]
	[2013-12-03 09:23:13 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"show-ref\",\"refs/heads/master\"]
	[2013-12-03 09:23:13 CET] call: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"show-ref\",\"--verify\",\"-q\",\"refs/heads/synced/master\"]
	[2013-12-03 09:23:13 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/master..refs/heads/synced/master\",\"--oneline\",\"-n1\"]
	pull bonus_remote
	[2013-12-03 09:23:13 CET] call: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"fetch\",\"bonus_remote\"]
	[2013-12-03 09:23:14 CET] call: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"show-ref\",\"--verify\",\"-q\",\"refs/remotes/bonus_remote/master\"]
	[2013-12-03 09:23:14 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/master..refs/remotes/bonus_remote/master\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:14 CET] call: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"show-ref\",\"--verify\",\"-q\",\"refs/remotes/bonus_remote/synced/master\"]
	[2013-12-03 09:23:14 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/synced/master..refs/remotes/bonus_remote/synced/master\",\"--oneline\",\"-n1\"]
	ok
	[2013-12-03 09:23:14 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"show-ref\",\"git-annex\"]
	[2013-12-03 09:23:14 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
	[2013-12-03 09:23:14 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..37a902328b4806d1549bf174241339432105d756\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:14 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..5e25b4c5c8c28d48b212c079767827e27819c379\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:14 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..2245416c2355c9e00f560bcde15b8856d8f924be\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:14 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..18e56479af7031d179cd4f4af4138b15211bea26\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:14 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..b74c5b5cfeecfeace64a4b31aabd7163c6c28f42\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:14 CET] read: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"log\",\"refs/heads/git-annex..88fd933c3dbb56d2527c19d6b462c61d9213535c\",\"--oneline\",\"-n1\"]
	[2013-12-03 09:23:14 CET] call: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"branch\",\"-f\",\"synced/master\"]
	[2013-12-03 09:23:14 CET] call: git [\"--git-dir=/Users/remy/Sync/.git\",\"--work-tree=/Users/remy/Sync\",\"branch\",\"-f\",\"master\"]
	fatal: Cannot force update the current branch.
	git-annex: failed to update refs/heads/master
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmu416zAYgYzbXVZAe30MiXoOWO4z6nGX8"
 nickname="Johannes"
 subject="comment 4"
 date="2013-12-05T16:31:04Z"
 content="""
I have the same problem. \"git annex repair\" does not detect any problems.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawn26WQjIP5fnMgQF_L_k3Q3UrR5v8mjRTY"
 nickname="Ellis"
 subject="comment 5"
 date="2013-12-07T18:14:21Z"
 content="""
I'm experiencing the same problem in one of my repositories on a couple computers now.

> git-annex version: 5.20131118-gc7e5cde
> build flags: Assistant Webapp Pairing S3 WebDAV Inotify DBus XMPP Feeds Quvi TDFA
> key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL
> remote types: git gcrypt S3 bup directory rsync web webdav glacier hook
> local repository version: 3
> default repository version: 3
> supported repository versions: 3 5
> upgrade supported from repository versions: 0 1 2 4

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawniayrgSdVLUc3c6bf93VbO-_HT4hzxmyo"
 nickname="Tobias"
 subject="same here"
 date="2013-12-11T19:57:09Z"
 content="""
I'm facing the same situation as the other commenters.

    git-annex version: 5.20131130-gc25be33
    [...]
    (merging gitlab/synced/git-annex into git-annex...)
    (Recording state in git...)
    fatal: Cannot force update the current branch.
    git-annex: failed to update refs/heads/master

Seems to be a problem with the command `git branch -f master`
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.87"
 subject="comment 7"
 date="2013-12-12T17:07:37Z"
 content="""
What branch does `git branch` say is checked out?

If you're using direct mode, you should not have the master branch checked out. Instead you should have an `annex/direct/master` branch that direct mode sets up and automatically switches you to. (Commits are still made to the master branch when syncing.)
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawniayrgSdVLUc3c6bf93VbO-_HT4hzxmyo"
 nickname="Tobias"
 subject="comment 8"
 date="2013-12-14T13:15:13Z"
 content="""
The master branch was checkout out (I don't know why). Checking out the mentioned branch fixed the syncing issue: `git checkout annex/direct/master`
"""]]


code:
[[!comment format=mdwn
 username="etset"
 ip="82.155.112.106"
 subject="comment 9"
 date="2013-12-19T12:45:06Z"
 content="""
I seem to have the same problem. I have two repositories added as ssh remotes to one another with the assistant. `git-annex sync` works on one of these, but not on the other, failing with the same error as above. Also, running `git-annex sync --debug` results in the same output as in Remy's above post. `git-annex repair` doesn't find any problem. Running `git branch` on both shows that neither repository has an `annex/direct/master` branch, and both have `master` checked out.

One of the repositories has the current version from debian wheezy-backports, 4.20131106~bpo70+1, installed, and the other one had 5.20131130 from unstable as of when I discovered the problem (I upgraded it today, but the problem persists). I'm not sure, but I think those were the versions I used to create the repositores, too.

Trying to reproduce the problem, I created a new repository via assistant on both computers, the one running 4.20131106~bpo70+1 and the one recently upgraded to 5.20131213. On the 5.* one, a `annex/direct/master` branch was created and checked out, but not on the 4.* one. However, adding each other as ssh remotes with the assistant makes the `annex/direct/master` on 5.* disappear and `master` to be checked out on both.

Is there anything I can do to fix the repositories? Is there any other info I could provide to help with this?
"""]]


code:
I'm trying to automate syncing of two repos A and B. My goal is to run `git annex sync` from A and have the working copy of B updated automatically. According to the manual page, `git annex merge` should to the trick. It works just fine when I run it manually in B, but not when I run it from the post-receive hook, as suggested in the manual page.

Here is a test script that illustrates the issue: <https://gist.github.com/anonymous/6197019>

The output I get:

    [...]
    file1 exists after manual git annex merge
    [...]
    file2 does not exist after git annex merge in post-receive

From the output I can see that `git annex merge` is run on the remote end, and seems to do it's thing (`file2` is added):

    remote: merge git-annex (merging synced/git-annex into git-annex...)
    remote: ok
    remote: merge synced/master Updating 6e5bfba..0dcbcfd
    remote: Fast-forward
    remote:  file2 |    1 +
    remote:  1 file changed, 1 insertion(+)
    remote:  create mode 120000 file2
    remote:
    remote: ok

However, the working copy in B does not have the file `file2`. Even worse, `git status` in B shows the file as deleted:

    # On branch master
    # Your branch is ahead of 'origin/master' by 2 commits.
    #
    # Changes not staged for commit:
    #   (use "git add/rm <file>..." to update what will be committed)
    #   (use "git checkout -- <file>..." to discard changes in working directory)
    #
    #	deleted:    file2
    #
    no changes added to commit (use "git add" and/or "git commit -a")

So when running `git annex sync` from B now, the file will be deleted from A as well, which is not what I expected.

This is on Ubuntu 12.04, using the precompiled git-annex tarball (amd64).

What am I doing wrong?


code:
[[!comment format=mdwn
 username="http://kallesoderman.myopenid.com/"
 ip="85.224.35.48"
 subject="Same problem here"
 date="2013-08-14T20:20:42Z"
 content="""
I'm trying to achieve [[USB_backup_with_files_visible/]] but can't make the post-recieve or post-update hooks have any effect. The filesystem is vfat so there are some issues with mounting defaults and executables (do the hooks have to be executable?) but regardless of mount options no dice.

 ``git-annex merge`` at the cli works perfectly. I havent been bitten by  files being deleted and propagated though.

Manually merging ruins my \"late for work need to bring data but to tired to think properly\" use case.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.0.63"
 subject="comment 2"
 date="2013-08-23T18:35:01Z"
 content="""
Having just set up <http://annex.debconf.org> which uses a git hook to run `git annex merge`, I can say that the main problems you are likely to run into are:

1. The hook might be run with the cwd not set to the top of the git repository. cd to the git repository in the hook to fix.
2. The hook might be run with `GIT_DIR` set to a strange value (in my case, it was set to \".\"), which is not the actual .git directory location. Unsetting it fixes that.

I don't know about how to get git hooks to work on FAT filesystems though. Hooks have to be executable, and most systems probably don't mount such filesystems with executability allowed.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawlq495p0WtZDUpxzYN9YnToZGODfCGnqOw"
 nickname="Stanis"
 subject="comment 3"
 date="2013-08-24T13:30:52Z"
 content="""
Thanks joey, that's exactly what was happening.

Just to repeat it here, if anyone else runs into the same problem, your post-receive hook has to look like this:

    #!/bin/sh
    unset GIT_DIR
    cd ..
    git annex merge

"""]]


code:
I've been running circles around the "jabber account setup" in assistant. I tried using jabber.org (isode) and jabber.de (openfire), but whatever I do I get thrown back to an Error page

"Firefox can't establish a connection to the server at 127.0.0.1:61967."

Assistant definetly tries to connect to the server (LittleSnitch is giving me a hint) and the connections are unblocked. Even after turning LittleSnitch off completely it won't work. On the other hand, I can connect to the servers using Jitsi without any problems. I'd be really thankful for any help.

David


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawn_3tllXjSmtgm__aGr9Z4gVNFgJgGyJ30"
 nickname="David Alan"
 subject="Edit:"
 date="2014-01-14T16:31:05Z"
 content="""
I tried this on a OS X 10.9.1 and OS X 10.8.5 as well as the regular dmg download and the autobuild.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.43"
 subject="comment 2"
 date="2014-01-14T18:56:44Z"
 content="""
You apprear to be experiencing this bug: [[bugs/Share_with_friends_crash_in_osx]]
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawn_3tllXjSmtgm__aGr9Z4gVNFgJgGyJ30"
 nickname="David Alan"
 subject="Yes"
 date="2014-01-15T01:41:12Z"
 content="""
Will put future comments there. Thanks you.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawlm_3m5gLhML9bHbZ8FpJ-HBZhWaRfFeO8"
 nickname="Corey"
 subject="Same bug? OSX 10.9.1"
 date="2014-01-23T23:38:32Z"
 content="""
… using Chrome. Connection to 127.0.0.1:XXXXX interrupted when setting up Jabber.
"""]]


code:
I'm trying to pair my ~/music repositories on my two laptops (Ubuntu 10.04 and 12.04) using the Linux standalone tarball on my home WiFi network. After entering the same passphrase on both machines, nothing happens, both remain in "Pairing in progress" state.

The router I'm using is, I think, fairly standard, it's a ZyXEL P-2812HNU-F1 with factory settings.

Are others having the problem too? Any advice where I should start looking for what goes wrong?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.152.246.8"
 subject="comment 1"
 date="2012-10-11T23:48:37Z"
 content="""
It's not clear from your description whether you

a) Started the pairing process independently on both machines... which probably doesn't work.

b) Started pairing on one machine, and the other one noticed and popped up a pair request alert where
you re-entered the password.

If b) didn't happen, then the the pairing broadcast is not being seen by the second machine.
You can try using tcpdump or wireshark to see the traffic. The traffic will look like this:

<pre>
19:45:11.125893 IP 10.1.1.2.43376 > 224.0.0.1.55556: UDP, length 692
</pre>

If all is going well, you should be able to see that on both the machine that's initiating the pairing and the other machine. And every other machine on the network for that matter.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawlZvtBCVyJw4O71OPsdwGpVh6iJ1W-xaPc"
 nickname="Kilian"
 subject="comment 2"
 date="2012-10-17T14:39:58Z"
 content="""
Thanks - it seems to be a problem with my router's firmware.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="2001:4978:f:21a::2"
 subject="comment 3"
 date="2012-10-17T17:35:11Z"
 content="""
Well, that's interesting. I wonder if other broadcast network services work over your router? The most common one is probably the avahi/zeroconf services.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawlZvtBCVyJw4O71OPsdwGpVh6iJ1W-xaPc"
 nickname="Kilian"
 subject="comment 4"
 date="2012-10-18T22:44:40Z"
 content="""
Hmm... using avahi-discover the two machines can indeed see some services offered by each other. A git-annex-assistant specific problem after all?

So when I initiate a pairing on 192.168.1.63, and run tcpdump on the same machine, it looks like this:

ke@thot:~/opt/git-annex.linux$ sudo tcpdump -i eth1 host 224.0.0.1 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
00:33:47.723989 IP 192.168.1.63.56243 > 224.0.0.1.55556: UDP, length 691
00:33:49.729242 IP 192.168.1.63.55072 > 224.0.0.1.55556: UDP, length 691
00:33:51.733358 IP 192.168.1.63.55115 > 224.0.0.1.55556: UDP, length 691
00:33:53.736730 IP 192.168.1.63.60249 > 224.0.0.1.55556: UDP, length 691
00:33:55.741641 IP 192.168.1.63.59753 > 224.0.0.1.55556: UDP, length 691

The same command (modulo different interface name) on the other machine (192.168.1.59) turns up nothing:

ke@apis:~/opt/git-annex.linux$ sudo tcpdump -i wlan0 host 224.0.0.1 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 96 bytes
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.0.23"
 subject="comment 5"
 date="2012-10-22T16:18:56Z"
 content="""
So, the only difference I can think of is that avahi uses a different multicast address than the one I picked for git-annex. It may be that your router is only letting that one address through even though it's supposed to let a whole range through.

I've prepared a test build of git-annex that uses the same 224.0.0.251 address avahi does. http://downloads.kitenet.net/tmp/git-annex-standalone-i386.tar.gz (i386 build)
If you can try that and see how it behaves, I'll see if I need to change the address.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawlZvtBCVyJw4O71OPsdwGpVh6iJ1W-xaPc"
 nickname="Kilian"
 subject="comment 6"
 date="2012-10-22T19:44:45Z"
 content="""
Yep, with the test build I see the pair request and can respond to it!

Pairing doesn't seem to succeed, but that looks like a different issue. I'll try around some more and report back, probably in a new thread.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.0.23"
 subject="comment 7"
 date="2012-10-22T19:49:44Z"
 content="""
All right, I'll change the address.
"""]]


code:
It seems I can't initialize git annex:

    $ git annex init "files2"
    init files2
      pre-commit hook (/Volumes/project/annex/.git/hooks/pre-commit) already exists, not configuring

    git-annex: waitToSetLock: failed (Operation not supported)
    failed
    git-annex: init: 1 failed
    $

  `project` is a remote file server connected via `smb://`.

   Any ideas why and how to fix?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.152.246.8"
 subject="comment 10"
 date="2012-10-16T05:52:08Z"
 content="""
If you need a git repository with your regular file names on the smb share, none of the special remotes will meet your needs. You'd need to find a way to make it support POSIX locking to use git-annex on it in a full git repository.

But I think that in most cases a directory special remote on such a share, with the git repository kept locally and git-annex used to pull files down to it as needed, would work ok.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnZ0g2UAijV7RGrKtWPljCCAYHBJ3pwPvM"
 nickname="Meng"
 subject="comment 12"
 date="2012-10-16T06:01:44Z"
 content="""
OK;   The purpose of putting files on the remote `smb://` partition is to publish these big data files, so other (potentially non-technical) people can download and use them.  They'll not be willing to learn how to use git, let alone git-annex.  And i have multiple development machines that can generate revisions/updates to these big files.  I previously just rsync from/to various development machines to/from this smb partition, but i find sometimes I don't always srync in correct direction.  The hope is i can have annex on these development machines, and set the smb:// partition as the remote for these git annex.    But it sounds like none of the special remote will have the original form, and a normal remote is not possible on smb:// partition.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.152.246.8"
 subject="comment 1"
 date="2012-10-16T02:52:26Z"
 content="""
The smb:// is a red flag to me. git-annex relies on POSIX file locking, and I'll bet smb does not provide that, or, perhaps, your samba server needs a configuration change to support it.

You might consider putting your git annex repository on the local filesystem, and setting up a [[special_remote|special_remotes]] on smb. The [[special_remotes/directory]] special remote is a likely choice.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnZ0g2UAijV7RGrKtWPljCCAYHBJ3pwPvM"
 nickname="Meng"
 subject="comment 2"
 date="2012-10-16T03:19:43Z"
 content="""
Thanks for getting back so quick; So, after doing

    git annex initremote smb type=directory directory=/Volumes/subproject/ encryption=none
    git annex describe smb \"smb://XXXhost.com/subproject\"

What else do i need to do?  Do i need to `git init` and/or `git annex init` in `/Volumes/subproject/`?
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.152.246.8"
 subject="comment 3"
 date="2012-10-16T04:12:55Z"
 content="""
Nope, you're set with just those two commands. You can now do things like \"git annex copy --to smb\"
to put files there, and \"git annex get\" will get files from there as necessary.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnZ0g2UAijV7RGrKtWPljCCAYHBJ3pwPvM"
 nickname="Meng"
 subject="comment 4"
 date="2012-10-16T04:17:11Z"
 content="""
Could i use (some variant of) `git annex sync` to do two-way sync between local and `smb`?
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.152.246.8"
 subject="comment 5"
 date="2012-10-16T04:23:59Z"
 content="""
`git annex sync` only syncs the git repository, not file contents, and the special remote has no git repo, only file contents. `git annex copy` will avoid transferring things that are already there, so it's the way to go.

If you want automatic syncing of file contents and lots of other magic including automatic commit of new files, you could try the [[assistant]].

"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnZ0g2UAijV7RGrKtWPljCCAYHBJ3pwPvM"
 nickname="Meng"
 subject="comment 6"
 date="2012-10-16T04:38:40Z"
 content="""
OK;  The reason i ask about `git annex sync` is because I had previously copied the large files onto `smb://` before setting up the `annex` and don't want to unnecessarily transfer large data over Internet again.  But now if i do `git annex copy --to smb`, and check what's added/changed in `smb` end, i found

    $ cd /Volumes/subproject
    $ ls
    091		383		bigdir1    bigfile1  ...

The files with numbers in names such as`091`, `383` are being added, the `bigfile1` and `bigdir1` are the ones previously copied there.  What are those `091`, `383` etc.
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.152.246.8"
 subject="comment 7"
 date="2012-10-16T04:52:12Z"
 content="""
That's where it stores files in the directory special remote. You can move the similar contents of /Volumes/subproject/.git/annex/objects/ to the same place as those and then run `git annex fsck --from smb --fast` and it'll learn about those files you already transferred.

You probably also want to delete /Volumes/subproject/.git afterwards, and any git working tree that was checked out there before; the directory special remote does not use the git repository that you had there before.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnZ0g2UAijV7RGrKtWPljCCAYHBJ3pwPvM"
 nickname="Meng"
 subject="comment 8"
 date="2012-10-16T05:22:54Z"
 content="""
Oh,  I see.   But what I need on the remote partition `/Volumes/subproject` connected via `smb://` is the actual `bigdir1` and `bigfile`, not the encoded objects.  Maybe I should use some other types of special remote?
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawnZ0g2UAijV7RGrKtWPljCCAYHBJ3pwPvM"
 nickname="Meng"
 subject="comment 9"
 date="2012-10-16T05:33:06Z"
 content="""
Maybe i didn't explain clearly at the beginning:  `/Volumes/subproject` is a remote partition connected via smb://.  It doesn't have a `.git`.  The content I mentioned previously \"copied\" there was copied via `cp -R`.  And my local annex is `~/project/subproject` and it does have `.git` and `.git/annex` in it.
"""]]


code:
###Tried to install git-annex.app

- App hangs up
- Cpu "git" load is 100
- Had to force quite git-annex

###Install thru command line: using Brew

- Installed haskell
- updated cabal
- But when I do:

`
cabal install git-annex --bindir=$HOME/bin
`

**I get this**

    Resolving dependencies...
    Configuring gnuidn-0.2...
    cabal: The program c2hs is required but it could not be found.
    Configuring libxml-sax-0.7.3...
    cabal: The pkg-config package libxml-2.0 is required but it could not be found.
    cabal: Error: some packages failed to install:
    git-annex-3.20121127.1 depends on libxml-sax-0.7.3 which failed to install.
    gnuidn-0.2 failed during the configure step. The exception was:
    ExitFailure 1
    libxml-sax-0.7.3 failed during the configure step. The exception was:
    ExitFailure 1
    network-protocol-xmpp-0.4.4 depends on libxml-sax-0.7.3 which failed to install.

Any help would be greatly appreciated.

Thanks,

Carlito


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.153.253.113"
 subject="comment 1"
 date="2012-12-06T18:09:13Z"
 content="""
The lack of c2hs can be dealt with by `cabal install c2hs` (which the install instructions already say to do).

Nobody currently understands why git commands are spinning and using all CPU when run by the app. This is being tracked at [[bugs/OSX_app_issues]].
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawlxKQEwwP6J58W0Dmfq0-v0j3LXtT5gNAA"
 nickname="Carlito"
 subject="Thanks"
 date="2012-12-06T19:23:48Z"
 content="""
Thanks joey!

Sorry missed `cabal install c2hs` in the instruction. But got passed that and still can't install.

    Resolving dependencies...
    Configuring libxml-sax-0.7.3...
    cabal: The pkg-config package libxml-2.0 is required but it could not be found.
    cabal: Error: some packages failed to install:
    git-annex-3.20121127.1 depends on libxml-sax-0.7.3 which failed to install.
    libxml-sax-0.7.3 failed during the configure step. The exception was:
    ExitFailure 1
    network-protocol-xmpp-0.4.4 depends on libxml-sax-0.7.3 which failed to install.

I tried

    brew install libxml2
    cabal install libxml

Also I added $HOME/.cabal/bin to my path

Thanks,

Carlito
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.153.14.162"
 subject="comment 3"
 date="2012-12-06T21:20:19Z"
 content="""
I can't help with installing libraries on OSX, but you can disable XMPP support in git-annex like this: \"cabal install git-annex -f-XMPP\"
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawlxKQEwwP6J58W0Dmfq0-v0j3LXtT5gNAA"
 nickname="Carlito"
 subject="Got it to work!"
 date="2012-12-06T22:17:55Z"
 content="""
Had to link it:

    brew install libxml2
    brew link libxml2

Thanks for your help.

Will test out annex and leave any bug reports.
"""]]


code:
Hi, I tried with several git annex versions, on 3 different clients, and using 2 different remotes (an home server and box.com) and trying out different remotes setups but I've been unable to get git annex working as I expected.

I used the assistant for setup, I can sync files between clients just fine if they're connected at the same time, but if I sync a file from client A to the remotes when client B is off, and then later I turn off client A and power on client B, I've never been able to successfully sync files.

on client B, inside .git/annex/daemon.log there's nothing interesting: just messages like:

```(scanning...) [2014-06-03 14:53:26 CEST] Watcher: Performing startup scan

Already up-to-date.```

`git annex sync` just outputs

`"commit  ok"`

and `git annex list`:

```
here

|berdario

||soloud

|||web

||||box.com

|||||

XX__X IMG_20130202_100444.jpg

XXX_X cookies.png

XXX_X dancingllama.png

XXX_X dario_bertini_cv.pdf

XX__X steam_latest.deb
```

while this is what I get on client A:

```
here

|berdario

||web

|||box.com

||||

XX_X IMG_20130202_100444.jpg

X__X Russian Lesson 5 - Wikibooks, open books for an open world.html

XX_X cookies.png

XX_X dancingllama.png

XX_X dario_bertini_cv.pdf

XX_X steam_latest.deb
```

(they're just a bunch of random files I'm using to test it, both clients are called berdario, soloud is the home server (currently down) and the other working remote is box.com)

As you can see the russian wikibooks html file is successfully synced with the remotes, but client B is unable to see it...

I tried to set the remotes as incremental backup, full backup, transfer, client (!?) but none of these settings work.

Is git annex not what I'm looking for? Is it supposed to work only on contemporarily connected clients?

Thanks


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="108.236.230.124"
 subject="comment 1"
 date="2014-06-04T18:21:13Z"
 content="""
your box.com repository only stores encrypted file contents, it does not include the git repository. So you need to either set up XMPP, which will allow the clients to sync while they're turned on, or you need to put a git repository on a remote server, which the clients can use to sync anytime.

Recent versions of git-annex allow encrypting the git repository. Use the \"remote server\" option in the webapp UI to set it up.
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawk0Sr9y7EcI5OhPk4GteZiHVxaoC0DmJ-E"
 nickname="Dario"
 subject="comment 2"
 date="2014-06-05T09:10:40Z"
 content="""
I have set up XMPP already. I thought it was obvious, since otherwise you wouldn't even be able to share a remote with other clients (it would overwrite the contents)

And the same problem happens with a remote server
"""]]


code:
I have one repository that I deleted a while back. When I mark it as dead in command line it disappears from git annex info however when I run webapp it pops back webapp shows it as syncing disabled. When I try to delete it from the webapp it does not delete. I tried shutting down the daemon mark it as dead again then run git annex forget --drop-dead --force but running it makes the repo active again instead of deleting it.

Repo in question was a S3 repo. I tried deleting it using both its name and uuid.


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.172"
 subject="comment 1"
 date="2014-02-21T17:36:03Z"
 content="""
Marking a repository as dead does not mean it is deleted. The way this is supposed to work, using the webapp is you tell it to start deleting the repository, which causes it to mark it as dead, and also, crucially, puts it into the \"unwanted\" group. This does not remove it from the list yet, but it causes all files located in the repository to be moved off it (assuming the repository can still be accessed).

Then once the webapp detects that the repository is empty it will prompt you to continue the deletion process and truely remove it. It can take quite a while for the webapp to get around to this last step, since it's done during the expensive transfer scan, which it tries to avoid running unnecessarily.

In any case, you can always edit .git/config and delete the remote, which should make the webapp no longer show it, as long as it's marked as dead.
"""]]


code:
I have encrypted directory remote on a usb drive over time it accumulated some unused files. I would like to drop them running,

    git annex --unused --from external

returns a list of unused files when I try to drop them with,

    git annex dropunused --force --from external 1-XX

I get,

    dropunused XX (from external...) failed

I can not seem to get rid of these files.


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.68"
 subject="comment 1"
 date="2014-01-18T22:39:37Z"
 content="""
One reason it might fail (especially if it's not printing any useful message beyond \"(failed)\") is if it thought the file was present in the repositort, but something has happened to it.

So, I suggest you try:

git annex fsck --from external

Followed by dropping again.

If that doesn't help, I'd recommend stracing the dropping of one of the unused files, and see what's going wrong toward the end.
"""]]


code:
[[!comment format=mdwn
 username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
 nickname="Hamza"
 subject="comment 2"
 date="2014-01-19T23:56:17Z"
 content="""
I've tried,

    git annex fsck --from external

and

    git annex fsck --all --from external

did not solve the problem. Running,

    strace git annex dropunused 1 --from external --force

tail of strace produces,

    clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidp
    tr=0x7f3a8d6d8a10) = 5746
    rt_sigaction(SIGINT, {0x4e1fb0, [INT], SA_RESTORER|SA_RESTART, 0x7f3a8c8b60b0}, {SIG_D
    FL, [], 0}, 8) = 0
    rt_sigaction(SIGHUP, {0x4e1fb0, [HUP], SA_RESTORER|SA_RESTART, 0x7f3a8c8b60b0}, {SIG_D
    FL, [], 0}, 8) = 0
    rt_sigaction(SIGTERM, {0x4e1fb0, [TERM], SA_RESTORER|SA_RESTART, 0x7f3a8c8b60b0}, {SIG
    _DFL, [], 0}, 8) = 0
    rt_sigaction(SIGQUIT, {0x4e1fb0, [QUIT], SA_RESTORER|SA_RESTART, 0x7f3a8c8b60b0}, {SIG
    _DFL, [], 0}, 8) = 0
    rt_sigaction(SIGPIPE, {0x4e1fb0, [PIPE], SA_RESTORER|SA_RESTART, 0x7f3a8c8b60b0}, {SIG
    _DFL, [], 0}, 8) = 0
    close(5)                                = 0
    read(4, \"\", 1)                          = 0
    close(4)                                = 0
    wait4(5746, dropunused 1 (from external...) (gpg) failed
    git-annex: dropunused: 1 failed
    [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 5746
    --- SIGCHLD (Child exited) @ 0 (0) ---
    exit_group(1)                           = ?

"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.68"
 subject="comment 3"
 date="2014-01-20T16:33:27Z"
 content="""
I see you're using encryption. That could have something to do with the problem. Which type of encryption was used for this special remote? encryption=shared or one of the other options?

Look through the whole strace output for attempts to access the directory special remote and show those. Or put up the full strace somewhere.
"""]]


code:
I'm wondering if it is possible to have remotes that don't have the *content* of git-annex tracked.

# My use case:

I have a number of projects that I am working on at any one time.  They all are tracking independently by `git` and more recently I am using `git annex` to manage the large files.

However because I have so many projects I work on one (called `AAA`), move to another, delete `AAA` to save disk space, ...time passes... return to `AAA`.

Now, prior to `git-annex` I could just clone `AAA` from my central repository folder do work, commit, push, repeat and then delete and there is no indication that I had one, or many copies of `AAA` floating around.  Now with `git-annex` there is some trail of me cloning, running `git annex get`, etc.

Is there some way to set a remote as `untracked`?  By that I mean it is classed as `untrusted` - so I can move files around, add them, copy to trusted remotes and delete the whole repository without worrying about losing data - but it also doesn't push any of the git-annex tracking info of where a copy of a file actually is.  I don't want to know if any or all of my other `untracked` repositories have a copy of a file or not.

I don't want my `git annex whereis` polluted with many references to repositories that just don't exist any more.  I guess I could set them to dead but that still keeps all of the tracking info around in all the repos, which seems unnecessary...


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="2001:4978:f:21a::2"
 subject="comment 1"
 date="2013-08-07T16:27:21Z"
 content="""
This seems like a reasonable request, so I've opened [[todo/untracked_remotes]]

I will note that if you know the annex.uuid of the previous AAA repository, you can make the new one use that same uuid, just `git config annex.uuid $UUID`. (`git annex fsck --fast` would be a good idea after doing that.)
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.227"
 subject="comment 2"
 date="2014-01-02T17:26:35Z"
 content="""
I have now implemented a way to mark a remote as readonly. This prevents git-annex from pushing anything to the remote, or modifying it in other ways.

It seems that in your use case, you might want to avoid git-annex sync pushing the git-annex branch, but still push a branch like master. So far, it's up to you to decide which branches to manually push; readonly disables all pushing.
"""]]


code:
My server is running the precompiled tarball https://downloads.kitenet.net/git-annex/linux/current/

git-annex version: 4.20130531-g5df09b5
build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP

The tarball is untared in "/opt/git-annex.linux" and this location is added to the users path in ".profile", who can launch the webapp as usual and so on.

But when a git-annex client from another computer tries to stablish a remote server repository with the server via ssh, it will complain "/usr/bin/git-annex", "runshell" and so on are missing. And if the binaries in "/opt/git-annex.linux" are symlinked in "/usr/bin" they will start to miss the other bin and libs in the "/opt/git-annex.linux" source tree.

As you can understand, I can't put the whole "/opt/git-annex.linux" folder tree in "/usr/bin". Is there any solution to make the precompiled tarball work properly as a git-annex server?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 1"
 date="2013-06-20T15:23:32Z"
 content="""
The standalone tarball does not need to be installed in /usr/bin or any other particular location. I *never* hardcode /usr/bin in anything.

It seems likely to me that you have not correctly added /opt/git-annex.linux to PATH. You mention `.profile` -- but this is only used
by bash when starting a login shell. So any non-login shells won't have it in path. You need to put something in .bashrc for that.

Also, to use git-annex on a server, there is no reason at all to install the latest and greatest version. Any version 3 or greater build of git-annex will work fine on a server with newer git-annex versions on clients. So `apt-get install git-annex` is a much easier and nicer way to install it on a server. Most linux distributions have a package of git-annex and an easy way to install it.

(It would also help if you pasted actual error messages, rather than a summary of an error message.)
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawmCEE7m7pm6lqvYmgRSESRP9xqmmMm9ox8"
 nickname="Daniel"
 subject="comment 2"
 date="2013-06-20T20:14:25Z"
 content="""
I'd rather use the package from the repositories. But this server is running an openSUSE install and the package manager could not resolve the Haskell dependencies of the unofficial git-annex rpm package.

Indeed, performing the PATH extension in \".bashrc\", not in \".profile\", solved the issue. I feel like a newbie. Thanks for the express answer!
"""]]


code:
Hi, I have installed latest version from https://launchpad.net/~rubiojr/+archive/git-annex, that is git-annex version: 3.20121017-ubuntu1ppa1~precise
When running git annex webapp I get

git-annex: unknown command webapp

I only installed git-annex. Are there more packages to be installed to make it work?


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawniayrgSdVLUc3c6bf93VbO-_HT4hzxmyo"
 nickname="Tobias"
 subject="comment 1"
 date="2013-04-23T08:39:50Z"
 content="""
This version does not have the webapp. Use a newer one (maybe you need the standalone build)
"""]]


code:
[[!comment format=mdwn
 username="tomas"
 ip="64.103.25.104"
 subject="comment 2"
 date="2013-04-23T11:50:21Z"
 content="""
According to documentation:
http://git-annex.branchable.com/assistant/
The git-annex assistant comes as part of git-annex, starting with version 3.20120924.

So it should be there in 3.20121017, no?
"""]]


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 3"
 date="2013-04-23T16:05:31Z"
 content="""
git-annex can be built without the webapp, and if some of the necessary dependencies for the webapp are not available, it will build without it by default. More recent versions than that one let you run `git annex version` and see the build flags, which can all be disabled due to missing dependencies. For example:

    build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP

Sergio does seem to be trying to backport all the dependencies of the webapp, but it looks to me like some of them, particularly haskell-xml-hamlet, have not successfully built yet.
"""]]


code:
[[!comment format=mdwn
 username="fmarier"
 ip="121.98.93.240"
 subject="My PPA (Ubuntu Precise) has git-annex 4.20130417"
 date="2013-04-27T23:31:54Z"
 content="""
It has the 90+ Haskell packages that are required to build git annex with every backend: https://launchpad.net/~fmarier/+archive/ppa
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawk3HGoDpnOPob5jOjvIootmkve1-nCpRiI"
 nickname="Kalle"
 subject="Debian Sid PowerPC is also without webapp"
 date="2013-05-07T09:44:31Z"
 content="""
Took me a couple of minutes to figure out why git-annex on my old Apple G4 wouldn't recognise the webapp command. Comparing the version command output on AMD64 and PowerPC made it obvious.
"""]]


code:
[[!comment format=mdwn
 username="tomas"
 ip="188.167.111.235"
 subject="thanks for the ppa"
 date="2013-05-08T10:04:25Z"
 content="""
Thanks François for your work
"""]]


code:
[[!comment format=mdwn
 username="https://openid.fmarier.org/"
 nickname="fmarier"
 subject="New location for my PPA"
 date="2013-06-15T07:41:03Z"
 content="""
My Ubuntu Precise PPA has moved here: https://launchpad.net/~fmarier/+archive/git-annex

It contains version 20130601 of git-annex.
"""]]


code: Is there a way to configure a central git repository that keeps track of large files with git annex so that multiple users can clone the repository but no repository clone can drop files from the server. Essentially, I'm looking for a way to have one repository that is always populated with at least one copy of each file. Other users shouldn't be able to tell that repository to drop any files (but would be able to add files it). The term "user" in that last sentence really refers to other clones...


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawn-TDneVW-8kwb1fyTRAJfH3l1xs2VSEmk"
 nickname="James"
 subject="comment 1"
 date="2014-07-30T20:37:27Z"
 content="""
It might not suit all your needs but you could try using gitolite and set permissions on the git-annex branch of your repository
http://gitolite.com/gitolite/conf.html#write-types

"""]]


code:
Hi,

I'm kind of new to git-annex, I've been following it for a while and tried small task, but never used it in a real situation.
I'm now trying to sync various computers through a central server and I'm having some problems, so I think I might be doing something wrong.

I have a remote server that I want to use as central server. I use the webapp to configure client 1 to use that server as remote server and using git (so I assume it stores the files and the tree). I then create the client 2 in another computer and doing the exact same steps.
Initially everything seams to work, but after a few modifications in the clients weird things start to happen, files only in one client, some files don't get updated, etc.

I guess I'm doing something wrong (maybe I need to clone the repo in client 2 instead of creating a new one?) but I can't figure out how to solve it.

Any tip that could help me?

Thanks!


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 1"
 date="2013-03-11T15:13:32Z"
 content="""
Your setup is fine as far as it goes. The problem is that a client has no way to know when another client has pushed a change to the centralized repository. It might take quite a while before it decides on its own to go pull changes from there (most often because *it* has now changed a file, and realizes it needs to sync), and so it won't see files the other client has added right away.

The solution to this is to go to Configuration -> Jabber account, and set both clients up using the same Jabber account. (Or, if these two machines belong to different people, you can pick \"pair with a friend\" to link one with the other over Jabber.)

Now when one client pushes to the centralized repository, it will immediately send the other a message letting it know something has changed.

The webapp actually pops up an alert when you add that centralized ssh repository, to nudge you to do this:

[[/assistant/xmppnudge.png]]

I'm trying to find ways to make the need to do this more clear...
"""]]


code:
[[!comment format=mdwn
 username="https://www.google.com/accounts/o8/id?id=AItOawk9nck8WX8-ADF3Fdh5vFo4Qrw1I_bJcR8"
 nickname="Jon Ander"
 subject="comment 2"
 date="2013-03-13T23:52:32Z"
 content="""
Hi Joey,

My problem isn't that the repositories don't sync immediately, they are never up at the same time and I understand that the assistant is not constantly checking for changes, so that's not an issue.
The problem is that with this setup I'm experiencing data loss (files being completely removed from both repos), it has happened a few times, but I cant seam to reproduce it reliably. I'll keep investigating and get back to you if I have a proper bug.
"""]]


code:
Hi again,

I have a SSH remote server that I registered to my git-annex repository via git-annex assistant. When I go to edit the settings for the repository from within git-annex assistant I noticed I can't edit the server address. If the server IP changes, how should I go about letting git-annex know of this? Can I just (1) shutdown git-annex assistant, (2) edit the 'url' line of the remote entry inside the repository's ``.git/config`` file, and then (3) start up git-annex assistant again? Is this a safe method for doing this?

Regards,
Blake


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="209.250.56.47"
 subject="comment 1"
 date="2013-11-01T16:35:47Z"
 content="""
Yes, you can certainly edit .git/config in any way you like and the assistant will use the new values when started back up.

It shouldn't be using a hardcoded IP address normally, unless you manually entered an IP address when setting up that ssh remote. Using DNS is better..
"""]]


code: Is there a way to check if a special remote is setup to use GPG? And, if so, see the ID of keys that it is encrypting to?


code:
[[!comment format=mdwn
 username="http://joeyh.name/"
 nickname="joey"
 subject="comment 1"
 date="2013-03-17T18:59:40Z"
 content="""
You can tell this by looking at remote.log:

git show git-annex:remote.log

Remotes that are encrypted will have a big \"cipher=\" block in there, and ones that are encrypted to gpg public keys will have a list of the keys following \"cipherkeys=\"

"""]]