Merge branch 'master' of ssh://git-annex.branchable.com

This commit is contained in:
Joey Hess 2013-01-10 15:07:42 -04:00
commit bb794430c0
11 changed files with 195 additions and 1 deletions

View file

@ -0,0 +1,26 @@
### What steps will reproduce the problem?
Run `git annex assistant`.
### What is the expected output? What do you see instead?
git-annex complains:
dbus failed; falling back to mtab polling (ClientError {clientErrorMessage =
"Call failed: The name org.gtk.Private.GduVolumeMonitor was not provided
by any .service files", clientErrorFatal = False})
This is because the `gvfs-gdu-volume-monitor` daemon has been obsoleted and removed from GNOME 3.6 (maybe even earlier).
git-annex should start using `gvfs-udisks2-volume-monitor` at bus name `org.gtk.Private.UDisks2VolumeMonitor`.
Alternatively, git-annex should stop relying on any per-user services, and use kernel interfaces directly when available. (This way, monitoring could work even if the user wasn't logged in and/or didn't have a DBus session bus.)
* On all Linux kernels since 2.6.15, the `/proc/self/mounts` file is pollable you can use **select(), poll() or epoll** to detect new mounted filesystems, without having to rely on periodic checks. (Run `findmnt -p` to see it in action.)
* On BSD systems, kqueue on `/etc/mtab`.
### What version of git-annex are you using? On what operating system?
git-annex 3.20130102 on Linux 3.7.1, GNOME 3.7

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="http://joeyh.name/"
ip="4.154.7.238"
subject="comment 1"
date="2013-01-10T17:28:30Z"
content="""
Thanks, excellent info.
Any chance you could provide dbus-monitor output for the events generated by org.gtk.Private.UDisks2VolumeMonitor when a volume is mounted, and unmounted?
"""]]

View file

@ -0,0 +1,53 @@
[[!comment format=mdwn
username="http://nullroute.eu.org/~grawity/"
nickname="Mantas"
subject="comment 2"
date="2013-01-10T17:38:47Z"
content="""
When mounted:
<pre>
signal path=/org/gtk/Private/RemoteVolumeMonitor; interface=org.gtk.Private.RemoteVolumeMonitor; member=MountAdded
string \"org.gtk.Private.UDisks2VolumeMonitor\"
string \"0x1971ab0\"
struct {
string \"0x1971ab0\"
string \"grawpqi\"
string \". GThemedIcon media-removable media\"
string \". GThemedIcon media-removable-symbolic media-removable media\"
string \"\"
string \"file:///run/media/grawity/grawpqi\"
boolean true
string \"0x18f4e50\"
array [
]
string \"gvfs.time_detected_usec.1357838999510252\"
array [
]
}
</pre>
When unmounted:
<pre>
signal path=/org/gtk/Private/RemoteVolumeMonitor; interface=org.gtk.Private.RemoteVolumeMonitor; member=MountRemoved
string \"org.gtk.Private.UDisks2VolumeMonitor\"
string \"0x1971910\"
struct {
string \"0x1971910\"
string \"grawpqi\"
string \". GThemedIcon media-removable media\"
string \". GThemedIcon media-removable-symbolic media-removable media\"
string \"\"
string \"file:///run/media/grawity/grawpqi\"
boolean true
string \"\"
array [
]
string \"gvfs.time_detected_usec.1357839107487969\"
array [
]
}
</pre>
"""]]

View file

@ -8,6 +8,6 @@ assistant, please instead fill in this poll on behalf of less technically
adept friends or family -- what's preventing you from introducing them to
the assistant?
[[!poll open=yes expandable=yes 0 "I'm using the assistant!" 0 "I need a Windows port" 0 "I need an Android port" 0 "I need an IPhone port (not holding my breath)" 0 "Well, it's still in beta..." 1 "I want to, but have not had the time to try it" 0 "Just inertia. I've got this dropbox/whatever that already works.." 0 "It's too hard to install (please say why in comments)"]]
[[!poll open=yes expandable=yes 0 "I'm using the assistant!" 0 "I need a Windows port" 1 "I need an Android port" 0 "I need an IPhone port (not holding my breath)" 0 "Well, it's still in beta..." 1 "I want to, but have not had the time to try it" 0 "Just inertia. I've got this dropbox/whatever that already works.." 0 "It's too hard to install (please say why in comments)" 0 "Perceived recent increase of bug reports and thus sitting it out."]]
Feel free to write in your own reasons, or add a comment to give me more info.

View file

@ -0,0 +1,16 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U"
nickname="Richard"
subject="Two reasons"
date="2013-01-10T18:00:05Z"
content="""
As of right now, the assistant has only secondary benefit over plain git-annex inasmuch there's a lot more code activity.
As soon as the assistant supports Android, I will use for syncing photos off of my phone and may start to use the assistant on my usual repos as a natural consequence.
Additionally, there's a subjective feeling of more bugs being reported. That may or may not be true, but as long as there's no Android port, I don't have an actual reason to \"risk\" it.
-- Richard
PS: This seems to be the first poll where you can place only one vote while it's the first where I really wanted to vote on two separate items.
"""]]

View file

@ -0,0 +1,15 @@
I have 3 remotes for an annex - one on my laptop, one on a USB drive that's plugged in 50% of the time, and an rsync special remote on a friend's machine that I can access using SSH.
I have tried various things (annex copy, numcopies=3) to make it move data to the rsync remote, but it doesn't seem to want to work. I have tried git annex sync. I added the remote repo using the webapp, and it looked as if it was copying my files for a bit then stopped. I have the remote repo setup as a backup in the webapp.
The sizes of the directorys:
~ $ du -sh Documents
126M Documents
~ $ du -sh /Volumes/Backup/Documents
227M /Volumes/Backup/Documents
and the remote
[c0g@womb Tom]$ du -sh MacDocuments/
21M MacDocuments/
I'm also curious as to why the usb drive repo is so much bigger than the thing I'm copying, but I'll worry about that later.

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="http://joeyh.name/"
ip="4.154.7.238"
subject="comment 1"
date="2013-01-10T18:36:04Z"
content="""
What does it say when you run:
git annex copy --to $rsyncremote
"""]]

View file

@ -0,0 +1,12 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawkjWgG_L90szs6o4E8cBusol57zkcDhg7c"
nickname="Tom"
subject="comment 2"
date="2013-01-10T18:40:13Z"
content="""
....
copy FrenchBasicCourserevised-Volume1-StudentText.pdf (checking Womb_MacDocuments...) ok
....
for each file in the directory.
"""]]

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="http://joeyh.name/"
ip="4.154.7.238"
subject="comment 3"
date="2013-01-10T18:44:00Z"
content="""
Sounds like copy works then?
What version of git-annex do you have installed? A bug was fixed on December 11th, before that the assistant never stored things in repositories configured as backups.
"""]]

View file

@ -0,0 +1,11 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawkjWgG_L90szs6o4E8cBusol57zkcDhg7c"
nickname="Tom"
subject="comment 4"
date="2013-01-10T18:48:16Z"
content="""
Sorry for lack of extra information: The sizes of the remote folder is still at 21MB, well below even the size of the PDF I posted about (that's about 75MB). Copy claims to work, but I see no network use and the remote repo doesn't grow. I install using cabal on my max yesterday, git-annex version: 3.20130107
"""]]

View file

@ -0,0 +1,31 @@
[[!comment format=mdwn
username="http://joeyh.name/"
ip="4.154.7.238"
subject="comment 5"
date="2013-01-10T18:58:49Z"
content="""
Ok, so copy is checking if the file is present, and it seems to think it is, so doesn't try again to send it.
Here's what you need to do: Run `git annex copy FrenchBasicCourserevised-Volume1-StudentText.pdf --to Womb_MacDocuments --debug`
It'll output something like this:
copy new (checking rsync...) [2013-01-10 14:51:43 JEST] read: rsync [\"localhost:/tmp/r/f87/4d5/'SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'\"]
Now try running that command at the shell, and check its exit status. For the above, I ran:
rsync \"localhost:/tmp/r/f87/4d5/'SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'\"; echo $?
It output:
-rw-r--r-- 0 2013/01/10 14:51:40 SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
0
Compare with the same command but with the filename mangled.
rsync: link_stat \"/tmp/r/f87/4d5/'SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/mangled'\" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1536) [Receiver=3.0.9]
27
It seems that rsync might be exiting 0 for content that's not there, in your case. This test will confirm or disprove that hypothesis and might provide some useful debug info.
"""]]