Hi Raphael! Please don't Cc: me, I read the list.
On Wed, 24 Oct 2007 09:55:36 +0200, Raphael Hertzog wrote: > On Tue, 23 Oct 2007, Luca Capello wrote: >> soon after darcs.d.o became a reality [1], Zack asked me about >> including the support for it in debcheckout and I did it as bug >> #445714 [2], arising some discrepancies in how the personal >> repositories are managed: >> >> - git.d.o uses $HOME/public_git, which is then visible at [3] > > ... visible as git://git.debian.org/~gismo/test.git Which doesn't work as a push repository, see the attached log. FYI, only git.d.o/git/users/gismo/test.git worked. This is another problem, similar to the debcheckout one (of which I'll reply to zack's post) and shared by darcs at least. I haven't reported it yet because it's dependent on this mail. >> - darcs.d.o uses $HOME/public_darcs, but this is visible as [4] > > This started with git because git-server has this nice integrated feature. > > For darcs, I think you made specific changes to make it work. I hope > they will be integrated upstream because I don't like to rely on > non-mainstream change. /me neither. FYI, the followings are the relevant bugs. - #399751 [1]: darcsweb: Should prepend configuration directory this is fixed-upstream and I haven't found the time yet to ask Stephen Gran to adopt the upstream fix. - #444935 [2]: darcsweb: config.py should refer to _darcs/third_party/darcsweb/projurl already fixed-upstream, I'll probably do better by tag it as upstream and fixed-upstream... - #444901 [3]: darcsweb: please allow _darcs/prefs/motd as repository description wishlist, not implemented on darcs.d.o because it was my personal idea. - sgran and bzed spent a bit of time implementing symlink support to have personal repositories as $HOME/public_darcs: since from a very quick test on my machine (sid and not with the same httpd/darcsweb configurations as darcs.d.o) I found that symlink was already supported, I wanted to understand what I should report upstream before doing it. >> - {arch,bzr,svn}.d.o uses /$VCS/private, visible as {[5],[6],[7]} > > They are not the same. Those are backupped, whereas the previous > ones are not. Sorry, I didn't know that and I cannot find any hint about it on the wiki pages about Alioth and Alioth VCSs. >> Now some points, which are not really problems, but annoyances: This is still valid, being consistency the main reason, as stated by Manoj [4]. >> 1) all the VCS servers but darcs store the repositories as >> >> VCS.d.o/VCS/... >> >> Is the subfolder VCS really needed? In that case we should have it >> for darcs.d.o, too. > > It's not always technically needed. I agree that we should require > it for darcs too for consistency. But since I didn't setup it, I > haven't said anything... :) I see the subfolder VCS as redundant, but I don't know at all how Alioth is managed and I'm probably missing some httpd management knowledge, too. If we keep it, I'll file an rt on Alioth for it, which was my preferred choice and not sgran's one, to be honest. >> 2) I think we should be consistent also about how to store personal >> repositories, at least for web access. [...] > You mix up stuff. First of all, only distributed VCS have the > $GROUP/$REPO thingie. My fault, this mail grew up in pieces and I remember I wanted to better check for all VCSs, which I missed, then. > Then "private" and "users" are different beasts concerning backup. I cannot find any hint about it on the wiki pages about Alioth and Alioth VCSs, can you elaborate, please? What I'd know, apart from the issue here (VCSs and personal repositories), is what's is eligible for backup and what's not. >> 3) the second point is more important WRT debcheckout authentication >> mode: this because in order to fix bug #447791 [8] the check should >> be as more general as possible. > > Anyone familiar with distributed repositories knows that he can't > assume to have write access on them... :-) This is a point, but debcheckout in authentication mode assumes you have write access on them... Anyway, to clarify the situation, we've two issues here: how to store personal VCS repositories and debcheckout, the former being the most important one. > I don't really see your point. debcheckout can checkout a user > repository and I don't see why it should only succeed if you can > write to it. At least it should warn the user. I'll update bug #447791 [5] as soon as this discussion will find an end. BTW, thank you for having forced me to check again that bug, the title wasn't correct and I fixed it :-) Thx, bye, Gismo / Luca Footnotes: [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=399751 [2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=444935 [3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=444901 [4] http://lists.debian.org/debian-devel/2007/10/msg00723.html [5] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=447791
[EMAIL PROTECTED]:~$ git clone git://git.debian.org/~gismo/test.git Initialized empty Git repository in /home/luca/test/.git/ remote: Generating pack... remote: Done counting 3 objects. remote: Deltifying 3 objects... remote: 100% (3/3) done remote: Total 3 (delta 0), reused 0 (delta 0) Indexing 3 objects... 100% (3/3) done [EMAIL PROTECTED]:~$ cd test/ [EMAIL PROTECTED]:~/test$ ls test.txt [EMAIL PROTECTED]:~/test$ touch test2.txt [EMAIL PROTECTED]:~/test$ git add test2.txt [EMAIL PROTECTED]:~/test$ git commit -m "add test2.txt" Created commit 7d4f27a: add test2.txt 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 test2.txt [EMAIL PROTECTED]:~/test$ git push fatal: The remote end hung up unexpectedly error: failed to push to 'git://git.debian.org/~gismo/test.git' [EMAIL PROTECTED]:~/test$ git push git+ssh://git.debian.org/~gismo/test.git Enter passphrase for key '/home/luca/.ssh/id_rsa': fatal: '~gismo/test.git': unable to chdir or not a git archive fatal: The remote end hung up unexpectedly error: failed to push to 'git+ssh://git.debian.org/~gismo/test.git' [EMAIL PROTECTED]:~/test$ git push git+ssh://git.debian.org/users/gismo/test.git Enter passphrase for key '/home/luca/.ssh/id_rsa': fatal: '/users/gismo/test.git': unable to chdir or not a git archive fatal: The remote end hung up unexpectedly error: failed to push to 'git+ssh://git.debian.org/users/gismo/test.git' [EMAIL PROTECTED]:~/test$ git push git+ssh://git.debian.org/git/users/gismo/test.git Enter passphrase for key '/home/luca/.ssh/id_rsa': updating 'refs/heads/master' from 1331b47d99532481c69293e1d671110dccdb4c2b to 7d4f27ad02cb8937ff90f76f8cda0b2fca9c9d9a Generating pack... Done counting 2 objects. Deltifying 2 objects... 100% (2/2) done Writing 2 objects... 100% (2/2) done Total 2 (delta 0), reused 0 (delta 0) refs/heads/master: 1331b47d99532481c69293e1d671110dccdb4c2b -> 7d4f27ad02cb8937ff90f76f8cda0b2fca9c9d9a [EMAIL PROTECTED]:~/test$