Merge remote-tracking branch 'branchable/master'
This commit is contained in:
commit
c7c0a229c8
9 changed files with 118 additions and 2 deletions
5
doc/bugs/Displayed_copy_speed_is_wrong.mdwn
Normal file
5
doc/bugs/Displayed_copy_speed_is_wrong.mdwn
Normal file
|
@ -0,0 +1,5 @@
|
|||
When copying data to my remote, I regularly see speeds in excess of 100 MB/s on my home DSL line.
|
||||
|
||||
2073939 100% 176.96MB/s 0:00:00 (xfer#1, to-check=0/1)
|
||||
|
||||
This is definitely not correct.
|
10
doc/bugs/No_easy_way_to_re-inject_a_file_into_an_annex.mdwn
Normal file
10
doc/bugs/No_easy_way_to_re-inject_a_file_into_an_annex.mdwn
Normal file
|
@ -0,0 +1,10 @@
|
|||
My local git index got corrupted and I needed to clone and annex get all data from my main repo.
|
||||
|
||||
Some files were never copied anywhere so I am stuck with symlinks to nowhere.
|
||||
|
||||
I tried to copy over the symlink with a copy of the actual file, which did not work. Trying to unlock, copying over the symlink, and relock did not work, either.
|
||||
|
||||
Then, I copied the annex object to the correct place in .git/annex/objects/..., set all modes, re-ran fsck and the file re-appeared.
|
||||
|
||||
|
||||
Long story short, I think there should be a `git annex reinject $file` or similar which will take a file, either one replacing the symlink or with an arbitrary path, and put it into the correct place in the object store. Called normally, it should reject all reinjects where the checksum does not match. With --force, this should be overridden. For reasons of safety, WORM should always require --force.
|
|
@ -0,0 +1,45 @@
|
|||
I ran git-annex (git version) on three machines with ghc-7.0.2 for about a month, but recently (no more than a week ago) I've started getting this error for every file on "git annex get":
|
||||
|
||||
git-annex-shell: internal error: evacuate(static): strange closure type 30799
|
||||
(GHC version 7.0.2 for i386_unknown_linux)
|
||||
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
|
||||
|
||||
There were no changes to ghc or it's modules, so I assume something has changed in git-annex itself.
|
||||
|
||||
strace shows "git annnex get" (on "host1") performing following exec's:
|
||||
|
||||
[pid 9481] execve("/usr/bin/rsync", ["rsync", "-p", "--progress", "--inplace", "-e", "'ssh' 'user@host2' 'git-annex-shell ''sendkey'' ''/remote/path'' ''SHA1-s6654080--abd8edec20648ade69351d68ae1c64c8074a6f0b'' ''--'''", ":", "/local/path/.git/annex/tmp/SHA1-s6654080--abd8edec20648ade69351d68ae1c64c8074a6f0b"], [/* 41 vars */]) = 0
|
||||
[pid 9482] execve("/usr/bin/ssh", ["ssh", "user@host2", "git-annex-shell 'sendkey' '/remote/path' 'SHA1-s6654080--abd8edec20648ade69351d68ae1c64c8074a6f0b' '--'", "", "rsync", "--server", "--sender", "-vpe.Lsf", "--inplace", ".", ""], [/* 41 vars */] <unfinished ...>
|
||||
|
||||
I've tried running the second command directly from the shell and got the same error message from a remote GHC.
|
||||
Adding strace before git-annex-shell to remote command yielded something like this in the end:
|
||||
|
||||
stat64("/local/path.git", 0xb727d610) = -1 ENOENT (No such file or directory)
|
||||
stat64("/local/path.git", 0xb727d6b0) = -1 ENOENT (No such file or directory)
|
||||
waitpid(7525, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 7525
|
||||
chdir("/home/user") = 0
|
||||
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
|
||||
write(2, "git-annex-shell: internal error: ", 33git-annex-shell: internal error: ) = 33
|
||||
...
|
||||
|
||||
Note that "/local/path" here is not what's specified in rsync arguments at all, and git repo with files-to-be-fetched on "host2" is in "/remote/path", but "/local/path" is present in git remotes there since I mount it via nfs from "host1" (yes, to the same path as it's there):
|
||||
|
||||
[remote "nfs"]
|
||||
url = /local/path
|
||||
fetch = +refs/heads/*:refs/remotes/nfs/*
|
||||
push = refs/heads/*:refs/remotes/host2/*
|
||||
annex-uuid = 0a4e14ba-5236-11e0-9004-7f24452c0f05
|
||||
|
||||
If I comment that remote out from "/remote/path/.git/config", "git annex get" works fine.
|
||||
The only git-command git-annex-shell seem to exec there (on "host2") is "git config --list", so it's shouldn't be git trying to do something with it's remotes - it's git-annex itself, right?
|
||||
|
||||
Anyways, looks like a simple path-joining error, if "/local/path.git" should be "/local/path/.git" there.
|
||||
|
||||
I'm actually quite confused about what it's trying to do with that path.
|
||||
Connect from "host1" to "host2" just to connect back to "host1"?
|
||||
What for, when it should just fetch files from "host2"?
|
||||
|
||||
Not sure if it's a bug or I'm doing something wrong, but if git-annex really need to check something in git remotes' paths, error message (the one at the top of this post) can be a more descriptive, I guess.
|
||||
Something like "error: failed to do something with git remote X on a remote host" would've been a lot less confusing than that GHC thing.
|
||||
|
||||
Thanks!
|
|
@ -0,0 +1,14 @@
|
|||
git's index broke and I was unable to restore it. While this is not git-annex' problem, it should still be possible to get my data in an un-annexed state.
|
||||
|
||||
% git status
|
||||
fatal: index file smaller than expected
|
||||
% git annex unannex foo
|
||||
fatal: index file smaller than expected
|
||||
% git annex uninit
|
||||
fatal: index file smaller than expected
|
||||
uninit
|
||||
pre-commit hook (/path/to/git-annex/.git/hooks/pre-commit) contents modified; not deleting. Edit it to remove call to git annex.
|
||||
ok
|
||||
%
|
||||
|
||||
Ttbomk, the softlinks and objects are enough to un-annex the files; side-stepping git's index if necessary.
|
|
@ -0,0 +1,11 @@
|
|||
I upgraded another one of my git-annex clones. The upgrade worked fine (i.e.
|
||||
according to the manual) on two other clones before, but this time something is
|
||||
different.
|
||||
|
||||
After 'git pull' and 'git annex upgrade', which took a long time and seemed to
|
||||
have succeeded, there are no staged changes in git. Instead there are lots of
|
||||
untracked directories in .git-annex. Aside from that, nothing seems to be
|
||||
wrong.
|
||||
|
||||
At the time I had git-annex version 0.20110329 and I've been using the SHA1
|
||||
backend since version 1.
|
|
@ -0,0 +1,20 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U"
|
||||
nickname="Richard"
|
||||
subject="comment 2"
|
||||
date="2011-04-02T21:34:24Z"
|
||||
content="""
|
||||
I'll give it a try as soon as I get rid of this:
|
||||
|
||||
% git annex fsck
|
||||
fatal: index file smaller than expected
|
||||
fatal: index file smaller than expected
|
||||
% git status
|
||||
fatal: index file smaller than expected
|
||||
%
|
||||
|
||||
And no, I am not sure where that is coming from all of a sudden... (it might have to do with a hard lockup of the whole system due to a faulty hdd I tested, but I didn't do anything to it for ages before that lock-up. So meh. Also, this is prolly off topic in here)
|
||||
|
||||
|
||||
Richard
|
||||
"""]]
|
|
@ -1 +1,3 @@
|
|||
As git annex keeps logs about file transfers anyway, it should be relatively easy to add traffic accounting to a repo. That would allow me to monitor how much traffic a given repo creates. As I might end up hosting git-annex repos for a few personal friends, I need/want a way to track the heavy hitters. -- RichiH
|
||||
As git annex keeps logs about file transfers anyway, it should be relatively easy to add traffic accounting to a repo. That would allow me to monitor how much traffic a given repo generates. As I might end up hosting git-annex repos for a few personal friends, I need/want a way to track the heavy hitters. -- RichiH
|
||||
|
||||
PS: If you ever plan to host git-annex similar branchable, this would probably be of interest to you, as well :)
|
||||
|
|
|
@ -4,7 +4,7 @@ Alice is always on the move, often with her trusty netbook and a small
|
|||
handheld terabyte USB drive, or a smaller USB keydrive. She has a server
|
||||
out there on the net. She stores data in the Cloud. All these things can
|
||||
have different files on them, but Alice no longer has to deal with the
|
||||
tedious process of keeping them manually in sync, or rembering where
|
||||
tedious process of keeping them manually in sync, or remembering where
|
||||
she put a file.
|
||||
|
||||
When she has 1 bar on her cell, Alice queues up interesting files on her
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
[[!comment format=mdwn
|
||||
username="http://dieter-be.myopenid.com/"
|
||||
nickname="dieter"
|
||||
subject="comment 3"
|
||||
date="2011-04-02T20:24:33Z"
|
||||
content="""
|
||||
* why the `git remote add laptop ~/annex` ? this remote already exists under the name origin.
|
||||
* doesn't the last command need to be `git remote add usbdrive /media/usb/annex`? because the actual repo would be in /media/usb/annex, not /media/usb?
|
||||
"""]]
|
Loading…
Reference in a new issue