git-annex (5.20131127) unstable; urgency=low
* webapp: Detect when upgrades are available, and upgrade if the user desires. (Only when git-annex is installed using the prebuilt binaries from git-annex upstream, not from eg Debian.) * assistant: Detect when the git-annex binary is modified or replaced, and either prompt the user to restart the program, or automatically restart it. * annex.autoupgrade configures both the above upgrade behaviors. * Added support for quvi 0.9. Slightly suboptimal due to limitations in its interface compared with the old version. * Bug fix: annex.version did not get set on automatic upgrade to v5 direct mode repo, so the upgrade was performed repeatedly, slowing commands down. * webapp: Fix bug that broke switching between local repositories that use the new guarded direct mode. * Android: Fix stripping of the git-annex binary. * Android: Make terminal app show git-annex version number. * Android: Re-enable XMPP support. * reinject: Allow to be used in direct mode. * Futher improvements to git repo repair. Has now been tested in tens of thousands of intentionally damaged repos, and successfully repaired them all. * Allow use of --unused in bare repository. # imported from the archive
This commit is contained in:
commit
7189dfd77d
6383 changed files with 204042 additions and 0 deletions
|
@ -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.
|
||||
"""]]
|
|
@ -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
|
||||
|
||||
"""]]
|
|
@ -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 ?
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
|
||||
"""]]
|
|
@ -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?
|
||||
"""]]
|
|
@ -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.
|
||||
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.)
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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>
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue