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

This commit is contained in:
Joey Hess 2013-09-16 16:48:13 -04:00
commit 9bb8445213
7 changed files with 222 additions and 0 deletions

View file

@ -0,0 +1,73 @@
### Please describe the problem.
I am experiencing a weird issue with any install I've had on this one (and only) ArchLinux machine: all of aur/git-annex 4.20130516-1, aur/git-annex-bin-4.20130909-1, aur/git-annex-standalone-4.20130909-1 and a Cabal install just stall when trying to create the initial Git annex repo in the webapp.
When started, it offers me to create the annex in ~/annex/ or ~/Desktop/annex/, where ~ gets turned into /home/USER when I press “Make repository”, but nothing else happens. This is regardless of if that repo exists when I try to create it or start the webapp.
If I start the webapp from an existing annex (now in ~/annex), it seems to work a bit better, but any other remote (SSH) server that I try to add fails. I just get a fleeting Bootstrap message box when I click “Check this server”, and nothing in the logs of eithr git annex webapp or the ssh logs of the server.
If an annex exists, but I start the webapp from another directory, it just behaves as if none were found.
Calls to git annex assistant --autostart complain that "Nothing listed in /home/omehani/.config/git-annex/autostart". I have checked the permissions on that directory, and tried deleting it to let git-annex recreate it, which it did, to no avail.
### What steps will reproduce the problem?
Install any of the git-annex packages available from AUR
### What version of git-annex are you using? On what operating system?
* up-to-date ArchLinux, Linux cancey 3.10.10-1-ARCH #1 SMP PREEMPT Fri Aug 30 11:30:06 CEST 2013 x86_64 GNU/Linux
* aur/git-annex 4.20130516-1, aur/git-annex-bin-4.20130909-1, aur/git-annex-standalone-4.20130909-1 or through Cabal (on 2013-09-12)
### Please provide any additional information below.
The following is the output of webapp --debug. Nothing actually appears when trying to add/edit a repo.
[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
~/annex (master)$ git annex webapp --debug
[2013-09-16 10:26:55 EST] read: git ["--git-dir=/home/omehani/annex/.git","--work-tree=/home/omehani/annex","show-ref","git-annex"]
[2013-09-16 10:26:55 EST] read: git ["--git-dir=/home/omehani/annex/.git","--work-tree=/home/omehani/annex","show-ref","--hash","refs/heads/git-annex"]
[2013-09-16 10:26:55 EST] read: git ["--git-dir=/home/omehani/annex/.git","--work-tree=/home/omehani/annex","log","refs/heads/git-annex..27c891f84f6ea7a10c68c0dd696ab84d88ef0cec","--oneline","-n1"]
[2013-09-16 10:26:55 EST] read: git ["--git-dir=/home/omehani/annex/.git","--work-tree=/home/omehani/annex","log","refs/heads/git-annex..d0a1cb518045af01b443694aa2cd9af6386de38a","--oneline","-n1"]
[2013-09-16 10:26:55 EST] read: git ["--git-dir=/home/omehani/annex/.git","--work-tree=/home/omehani/annex","log","refs/heads/git-annex..3ff23e23d74ace008b03143120e84f07e52ed8ee","--oneline","-n1"]
[2013-09-16 10:26:55 EST] chat: git ["--git-dir=/home/omehani/annex/.git","--work-tree=/home/omehani/annex","cat-file","--batch"]
[2013-09-16 10:26:55 EST] logging to /home/omehani/annex/.git/annex/daemon.log
[2013-09-16 10:26:55 EST] logging to /home/omehani/annex/.git/annex/daemon.log
Launching web browser on file:///home/omehani/annex/.git/annex/webapp.html
START /usr/lib/firefox/firefox "/home/omehani/annex/.git/annex/webapp.html"
(process:2699): GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0' failed
# End of transcript or log.
"""]]
Running git annex from a different directory.
[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
~$ git annex webapp --debug
Launching web browser on file:///tmp/webapp3934.html
START /usr/lib/firefox/firefox "/tmp/webapp3934.html"
(process:4008): GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0' failed
# End of transcript or log.
"""]]
Trying the autostart:
[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
~$ git annex assistant --autostart --debug
git-annex: Nothing listed in /home/omehani/.config/git-annex/autostart
# End of transcript or log.
"""]]

View file

@ -0,0 +1,13 @@
[[!comment format=mdwn
username="http://olivier.mehani.name/"
nickname="olivier-mehani"
subject="comment 1"
date="2013-09-16T01:27:14Z"
content="""
The version with which the following tests were run (installed with Cabal)
[[!format sh \"\"\"
git-annex version: 4.20130827
build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus DNS
\"\"\"]]
"""]]

View file

@ -0,0 +1,15 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawnsuhFUIfWNT-Q-C02FDaSQqceFDge5M9w"
nickname="Florian"
subject="comment 5"
date="2013-09-16T09:00:34Z"
content="""
Ok, bug can be closed, it was never a bug (at least not in git-annex). I was using the i386 build on a x86_64 machine.
Server is virtual machine from Strato.
$ uname -a
Linux h1774498.stratoserver.net 2.6.32-042stab078.27 #1 SMP Mon Jul 1 20:48:07 MSK 2013 i686 GNU/Linux
Since there was no x86_64 in the uname output, I thought it was a i386 machine. The git-annex binaries gave a \"File not found\" error message, the git binaries worked. Nothing I connected to a wrong architecture... Sorry for the hassle!
"""]]

View file

@ -0,0 +1,69 @@
### Please describe the problem.
I have a repo that I initialized in direct mode because i felt unconfortable with the "symlink forest" approach.
Now that I prefer that, i want to switch back to indirect mode. The problem is, when I did that, I realized that some files in the repo were not writable by my user, and git annex indirect crashed, and didn't "indirect" all the files. Now the repo is in a "half-direct" state, and I seem to be unable to recover.
### What steps will reproduce the problem?
[[!format txt """
git init
git annex init
git annex direct
git annex add . # make sure some files are not writable by your user
git annex indirect
"""]]
The `indirect` step will stop at the file that is not writable and will fail to move some files to `.git/annex`. And then the repo is in `indirect` mode yet some files are still not symlinks.
Doing a `git annex direct` will try to commit all those nasty files into git, as it does a `git commit -a`.
### What version of git-annex are you using? On what operating system?
git-annex version: 4.20130912-ga1faca3
build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS Feeds Quvi
Debian wheezy.
### Please provide any additional information below.
Ideally, there would be a way to just tell git annex it's really still in direct mode and migrate the remaining files.
The workaround is, obviously, to make sure you own all those files before messing around:
chown -R you *
chmod -R u+w *
A [[patch]], maybe, that allows you to flip cleanly between the two modes:
[[!format diff """
From a21dfc97da96883b2a088bb5f3f466296f08d858 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@koumbit.org>
Date: Mon, 16 Sep 2013 13:58:29 -0400
Subject: [PATCH] do not commit -a when going back to direct mode
without this, if we switched to indirect mode but failed doing so
(because of a permission problem, for example), going back to
direct mode will commit all files to git, which we really want
to avoid.
---
Command/Direct.hs | 1 -
1 file changed, 1 deletion(-)
diff --git a/Command/Direct.hs b/Command/Direct.hs
index 7835988..ed8ea6c 100644
--- a/Command/Direct.hs
+++ b/Command/Direct.hs
@@ -33,7 +33,6 @@ perform = do
showOutput
_ <- inRepo $ Git.Command.runBool
[ Param "commit"
- , Param "-a"
, Param "-m"
, Param "commit before switching to direct mode"
]
--
1.7.10.4
"""]]

View file

@ -0,0 +1,27 @@
Hi,
[ sorry for the wrong bugreport in the last version of this entry ]
It seems as if I can only add my own file to the annex, even if I have group write permissions. Is that correct? Can that be circumvented other than copying/deleting the large file?
Here is some demonstration:
> git init
> git config user.name dtr
> git config user.email dtrn@dtrn.com
> dd if/dev/zero of=test2.bin count=1000
> ll
-rw-rw-r-- 1 dtr dtr 512000 Sep 16 2013 test2.bin
> sudo chown someone test2.bin
> ll
-rw-rw-r-- 1 someone dtr 512000 Sep 16 2013 test2.bin
> git annex init
> git annex add test2.bin
add test2.bin (checksum...)
git-annex: /test-git-annex/.git/annex/objects/Fq/f6/SHA256-s512000--2d4da04b861bb9dbe77c871415931785a18138d6db035f1bbcd0cf8277c6fc23/SHA256-s512000--2d4da04b861bb9dbe77c871415931785a18138d6db035f1bbcd0cf8277c6fc23: setFileMode: permission denied (Operation not permitted)
failed
git-annex: add: 1 failed

View file

@ -0,0 +1,15 @@
[[!comment format=mdwn
username="http://mylesenglish.myopenid.com/"
ip="217.39.94.195"
subject="comment 2"
date="2013-09-16T19:21:31Z"
content="""
This shell function behaves more like ls and shows the files that are present:
ga-ls () {
CWD=`pwd`
cd ${1:-.} && git annex find | cut -d / -f 1 | uniq
cd ${CWD}
}
"""]]

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="http://olivier.mehani.name/"
nickname="olivier-mehani"
subject="comment 4"
date="2013-09-16T01:23:58Z"
content="""
Done [0]. Not much debug output, unfortunately...
[0] http://git-annex.branchable.com/bugs/Assistant_stalls_when_adding__47__creating_repo_on_ArchLinux/?updated
"""]]