git-annex (5.20140402) unstable; urgency=medium

* unannex, uninit: Avoid committing after every file is unannexed,
    for massive speedup.
  * --notify-finish switch will cause desktop notifications after each
    file upload/download/drop completes
    (using the dbus Desktop Notifications Specification)
  * --notify-start switch will show desktop notifications when each
    file upload/download starts.
  * webapp: Automatically install Nautilus integration scripts
    to get and drop files.
  * tahoe: Pass -d parameter before subcommand; putting it after
    the subcommand no longer works with tahoe-lafs version 1.10.
    (Thanks, Alberto Berti)
  * forget --drop-dead: Avoid removing the dead remote from the trust.log,
    so that if git remotes for it still exist anywhere, git annex info
    will still know it's dead and not show it.
  * git-annex-shell: Make configlist automatically initialize
    a remote git repository, as long as a git-annex branch has
    been pushed to it, to simplify setup of remote git repositories,
    including via gitolite.
  * add --include-dotfiles: New option, perhaps useful for backups.
  * Version 5.20140227 broke creation of glacier repositories,
    not including the datacenter and vault in their configuration.
    This bug is fixed, but glacier repositories set up with the broken
    version of git-annex need to have the datacenter and vault set
    in order to be usable. This can be done using git annex enableremote
    to add the missing settings. For details, see
    http://git-annex.branchable.com/bugs/problems_with_glacier/
  * Added required content configuration.
  * assistant: Improve ssh authorized keys line generated in local pairing
    or for a remote ssh server to set environment variables in an
    alternative way that works with the non-POSIX fish shell, as well
    as POSIX shells.

# imported from the archive
This commit is contained in:
Joey Hess 2014-04-02 21:42:53 +01:00
commit b6d46c212e
7646 changed files with 245066 additions and 0 deletions

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="http://ertai.myopenid.com/"
nickname="npouillard"
subject="git-annex no longer supported by gitolite g3"
date="2013-03-25T12:47:21Z"
content="""
See http://gitolite.com/gitolite/dev-status.html for some details.
"""]]

View file

@ -0,0 +1,31 @@
[[!comment format=mdwn
username="http://mildred.fr/"
nickname="mildred"
subject="Problems with URL ending with ".git""
date="2013-05-24T12:15:16Z"
content="""
Hi,
I noticed using the git-annex branch of gitolite v3 that the same URL with \".git\" at the end would not work in git-annex. For example my test repository was `git@git2.mildred.fr:u/mildred/Annex.git` but it didn't work until I converted it to `git@git2.mildred.fr:u/mildred/Annex`
On the server, the repository is in `repositories/u/mildred/Annex.git`
If I try a copy with git-annex for example, I would get:
$ git annex copy titi --to test
copy titi (checking test...) FATAL: u/mildred/Annex.git mildred DENIED
(unable to check test) failed
git-annex: copy: 1 failed
(test is the name of my remote and titi is my file)
Note, in my gitolite conf, I have:
repo u/CREATOR/[a-zA-Z0-9].*
C = @all
RW+D = CREATOR
RW = WRITERS
R = READERS
"""]]

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawn5RcmefXjrl1vmbHIiOWQyXGXVKxlm3rg"
nickname="Kavin"
subject="comment 12"
date="2013-07-25T03:20:15Z"
content="""
latest code of gitolite does not support git-annex ? I could not find a way to make it work ?
"""]]

View file

@ -0,0 +1,20 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawm9tgeFE5v-arAYYftSv3yUTI5Q4qB2C9M"
nickname="Khaije"
subject="git-annex with gitolite FTW"
date="2013-08-13T15:13:07Z"
content="""
The steps to activate git-annex integration have changed/simplified for v3.
1) during install, be sure to use the 'git-annex' branch, rather than master[fn:1].
2) to enable git-annex-shell, open ~/.gitolite.rc and insert 'git-annex-shell' => 'ua' into the hash list in the COMMANDS array.[fn:2]
#'git-annex-shell' => 'ua',
[fn:1] We'd like to have this feature-branch merged to master, so please send Sitaram feedback, positive and negative, based on your experiences.
[fn:2] There is no GL_ADC_PATH and no \"ua\" subdirectory here, and nothing to \"install\"; the command now comes with gitolite.
"""]]

View file

@ -0,0 +1,13 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawkSbvo_NbY-ev1VKtzwo7nEqUmvRO6rXGA"
nickname="François"
subject="comment 14"
date="2013-09-22T18:30:45Z"
content="""
@khaije
Could you paste your config file? Here is mine: http://paste.debian.net/44856/
I don't have any COMMANDS array. Could you elaborate your modifications please?
Thanks.
"""]]

View file

@ -0,0 +1,29 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawnRaueN1AcM8pIMofH5-wQ1Kr4T0GBe8sA"
nickname="wayne"
subject="git-annex with gitolite-rc"
date="2013-10-19T17:03:32Z"
content="""
@François
The proper array in .gitolite.rc seems to be the \"ENABLE\" array, which it appears is parsed into the COMMANDS array in src/lib/Gitolite/Rc.pm
@Khaije
Using 'git-annex-shell' => 'ua' doesn't seem to work for me. The program still fails in src/gitolite-shell around line 163 (gitolite repo version b1d3c05):
_die \"suspicious characters loitering about '$soc'\"
if $rc{COMMANDS}{ words[0] } ne 'ua' and $soc !~ $REMOTE_COMMAND_PATT;
When I insert $rc{COMMANDS}{ words[0] } into the _die message, it shows up as \"1\" instead of \"ua\" as I was expecting.
When I manually set $rc{COMMANDS}{ words[0] } to 'ua' slightly earlier in the script, the git-annex-shell command gets run but it seems to fail to parse the result of the configlist command properly because then I get
Failed to get annex.uuid configuration of repository origin
Instead, got: \"annex.uuid=\ncore.gcrypt=\n\"
I am actually about to give up on the notion of using git-annex and gitolite together. Maybe. I am interested to know if anyone else is having similar problems.
"""]]

View file

@ -0,0 +1,15 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawmbo-yMzW_lkBrS4ICNn5XMr8saYtI1_WY"
nickname="Douglas"
subject="Any further info regarding gitolite support?"
date="2013-11-14T03:20:31Z"
content="""
We have reached the same point as the previous poster from 25 days ago.
$ git annex copy --to origin
FATAL: suspicious characters loitering about 'git-annex-shell 'configlist' '/~/testing''
Remote origin does not have git-annex installed; setting remote.origin.annex-ignore
git-annex: cannot determine uuid for origin
Anyone actually have this working?
"""]]

View file

@ -0,0 +1,11 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawm9tgeFE5v-arAYYftSv3yUTI5Q4qB2C9M"
nickname="Khaije"
subject="comment 17"
date="2013-11-23T02:14:12Z"
content="""
my gitolite.rc is available at https://gist.github.com/khaije1/7609848
For whatever reason I've found this to be very simple to get working so I'd guess there's a missing ingredient somewhere. The combination of gitolite and git-annex is valuable to me so I'll add documents to the url above in hopes it will assist some people with getting the same value.
"""]]

View file

@ -0,0 +1,21 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawll4Kgp7nMuOKdB0FfbcYZ3KRq7HCS0Slc"
nickname="Laura"
subject="Using Gitolite 3.2"
date="2014-01-17T20:14:16Z"
content="""
Adding:
'git-annex-shell' =>1,
To the .gitolite.rc file resulted in the \"FATAL: suspicous characters loitering about 'git-annex-shell 'configlist' '/~/testing''...
Gitolite source code (https://github.com/sitaramc/gitolite/commit/b1d3c0571409b7c6279fc6a77253c3bc262ab425#diff-79a3701e9e2cee0ea1316451c21a3fec) requires this entry:
'git-annex-shell ua'
"""]]

View file

@ -0,0 +1,11 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawnftLWVOF0DUdXr2HSW4IKzuqtW8V7X3YU"
nickname="Adrian"
subject="How can the git annex init command be called on the server?"
date="2014-03-25T06:58:56Z"
content="""
The latest commit in the gitolite repository \"git-annex support, finally in master!\" looks really promissing. I'm currently using ubuntu trusty with updated gitolite3 package and the configuration provided by Khaije. One line needs to be changed: 'git-annex-shell' => 'ua', instead of 'git-annex-shell' =>1,
However, one little detail is still open for me. I need to call the server side \"git annex init\" on the server (sudo su gitolite3; cd ~/repositories/testing.git && git annex init). I cannot find a way to initialize the server from client side. E.g. git annex init && git push --all is not enough. The man page describes git annex initremote for other server types but not for gitolite remotes. Wouldn't we need something similar for gitolite as well? Or is there a better solution which I do not recognize?
"""]]

View file

@ -0,0 +1,15 @@
[[!comment format=mdwn
username="http://www.openid.albertlash.com/openid/"
ip="71.178.29.218"
subject="comment 1"
date="2011-12-24T06:08:45Z"
content="""
Looks like you are missing a closing double quote on the line:
echo '$GL_ADC_PATH = \"/usr/local/lib/gitolite/adc/;' >>~gitolite/.gitolite.rc
right after /;
I got this working by the way - great stuff.
"""]]

View file

@ -0,0 +1,13 @@
[[!comment format=mdwn
username="http://joeyh.name/"
ip="209.250.56.41"
subject="comment 20"
date="2014-03-26T18:24:30Z"
content="""
@Adrian, that's good news. It would be helpful if someone could update the top of this page to document how to use git-annex with the new version of gitolite.
This is a wiki..
You're not supposed to need to use initremote when dealing with normal git remotes. It seems that something got lost that automatically initialize the remote repository in this situation. I've fixed it so that it will be set up when `git-annex-shell configlist` is run.
(@wayne, this fixes the problem you reported too..)
"""]]

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="http://joey.kitenet.net/"
nickname="joey"
subject="comment 2"
date="2011-12-24T16:54:31Z"
content="""
I've fixed the typo (anyone can edit pages in this wiki FWIW.)
"""]]

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="bremner"
ip="156.34.79.193"
subject="repo name conventions?"
date="2011-12-30T21:41:13Z"
content="""
I'm confused by the fact that the git-annex-shell adc rejects any repo names that don't start with /~/ since none of my repos start that way. It seems work ok if I just delete /\~ from the front of the regex, but I feel like I must be missing something.
"""]]

View file

@ -0,0 +1,33 @@
[[!comment format=mdwn
username="http://joey.kitenet.net/"
nickname="joey"
subject="comment 4"
date="2011-12-31T00:29:45Z"
content="""
Well a repo url like `gitolite@localhost:testing` puts it in the gitolite user's /~/testing
This worked when I added the gitolite stuff, anyway.. Let's see if it still does:
<pre>
joey@gnu:~/tmp>mkdir g
joey@gnu:~/tmp>cd g
joey@gnu:~/tmp/g>git init
Initialized empty Git repository in /home/joey/tmp/g/.git/
joey@gnu:~/tmp/g>git annex init
init ok
joey@gnu:~/tmp/g>git remote add test 'gitolite@localhost:testing'
joey@gnu:~/tmp/g>touch foo
joey@gnu:~/tmp/g>git annex add foo
add foo (checksum...) ok
(Recording state in git...)
joey@gnu:~/tmp/g>git annex copy foo --to test --debug
git [\"--git-dir=/home/joey/tmp/g/.git\",\"--work-tree=/home/joey/tmp/g\",\"ls-files\",\"--cached\",\"-z\",\"--\",\"foo\"]
git [\"--git-dir=/home/joey/tmp/g/.git\",\"--work-tree=/home/joey/tmp/g\",\"check-attr\",\"annex.numcopies\",\"-z\",\"--stdin\"]
git [\"--git-dir=/home/joey/tmp/g/.git\",\"--work-tree=/home/joey/tmp/g\",\"show-ref\",\"--hash\",\"refs/heads/git-annex\"]
git [\"--git-dir=/home/joey/tmp/g/.git\",\"--work-tree=/home/joey/tmp/g\",\"show-ref\",\"git-annex\"]
git [\"--git-dir=/home/joey/tmp/g/.git\",\"--work-tree=/home/joey/tmp/g\",\"cat-file\",\"--batch\"]
Running: ssh [\"-4\",\"gitolite@localhost\",\"git-annex-shell 'configlist' '/~/testing'\"]
</pre>
Still seems right, the ADC's regexp will match this the git-annex shell command.
"""]]

View file

@ -0,0 +1,20 @@
[[!comment format=mdwn
username="bremner"
ip="156.34.79.193"
subject="gitolite gets different paths for different urls"
date="2011-12-31T01:50:49Z"
content="""
I guess there is some path rewriting going in in gitolite proper because if try a url of the form
ssh://git@localhost/testing, then it still works with gitolite, but fails with the ADC because
the repo is passed as /testing:
<pre>
Running: ssh [\"git@host\",\"git-annex-shell 'configlist' '/recommend'\"]
Running: ssh [\"git@host\",\"git-annex-shell 'configlist' '/recommend'\"]
</pre>
What I have to ask Sitaram and or find in the docs is if this is a bug or a feature in gitolite. I can see how the leading slash would get swallowed up by this line
<pre>
$repo = \"'$REPO_BASE/$repo.git'\"
</pre>
in gl-auth-command, but I guess that isn't the whole story.
"""]]

View file

@ -0,0 +1,25 @@
[[!comment format=mdwn
username="bremner"
ip="156.34.79.193"
subject="ssh://gitolite-host/repo-name is supposed to work"
date="2011-12-31T03:34:17Z"
content="""
I confirmed with Sitaram that this is intentional, if probably under-documented.
Since the ADC strips the leading /~/ in assigning $start anyway, I guess something like the following will work
<pre>
diff --git a/contrib/adc/git-annex-shell b/contrib/adc/git-annex-shell
index 7f9f5b8..523dfed 100755
--- a/contrib/adc/git-annex-shell
+++ b/contrib/adc/git-annex-shell
@@ -28,7 +28,7 @@ my $cmd=$ENV{SSH_ORIGINAL_COMMAND};
# the second parameter.
# Further parameters are not validated here (see below).
die \"bad git-annex-shell command: $cmd\"
- unless $cmd =~ m#^(git-annex-shell '\w+' ')/\~/([0-9a-zA-Z][0-9a-zA-Z._\@/+-
+ unless $cmd =~ m#^(git-annex-shell '\w+' ')/(?:\~\/)?([0-9a-zA-Z][0-9a-zA-Z.
my $start = $1;
my $repo = $2;
my $end = $3;
</pre>
"""]]

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="http://joey.kitenet.net/"
nickname="joey"
subject="comment 7"
date="2011-12-31T18:32:28Z"
content="""
That patch seems ok, it doesn't seem to allow through any repo locations that were blocked before.
So, it has my blessing.. but the ADC is in gitolite and will need to be patched there.
"""]]

View file

@ -0,0 +1,29 @@
[[!comment format=mdwn
username="bremner"
ip="156.34.79.193"
subject="afaict git annex normalizes urls on the client side."
date="2011-12-31T22:29:38Z"
content="""
After some debugging printing, here is my current understanding.
- urls of the form git@host:~repo or ssh://git@host
- git sends commands like \"git-receive-pack '~/repo'
- gitolite converts these to $REPO_BASE/~/repo which fails. ~/repo would also fail fwiw.
- git-annex sends seems /~/repo, which works
- urls of the form git@host:/repo or ssh://git@host/repo
- git sends \"git-receive-pack '/db/cs3383'\"
- gitolite converts this to $REPO_BASE/repo which works
- git annex sends \"git-annex-shell 'inannex' '/repo' ...\" which works, but only with the patch above.
- urls of the form git@host:repo
- git sends \"git-receive-pack 'repo'
- gitolite converts this to $REPO_BASE/repo, which works
- git-annex sends \"git-annex-shell 'inannex' '/~/db/cs3383'...\", which also works for git-annex-shell.
So the weird case is the last one where git and git-annex are sending different things over the wire.
I don't know if you have other motivations for doing the url normalization on the client side, but it isn't needed for gitolite, and in some sense complicates things a little. On the other hand, now that I see what is going on, it isn't a big deal to just strip the leading /~ off in the adc. It does lead to the odd situation of some URLs working for git-annex but not git.
"""]]

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="http://joey.kitenet.net/"
nickname="joey"
subject="comment 9"
date="2012-01-02T16:27:55Z"
content="""
Ah right. git-annex normalizes all git ssh style user@host:dir to valid uris, which is where the `/~/` comes from. I don't anticipate this changing on the git-annex side.
"""]]