[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: VCSs on Alioth and personal repositories



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

luca@gismo:~$ 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

luca@gismo:~$ cd test/
luca@gismo:~/test$ ls
test.txt
luca@gismo:~/test$ touch test2.txt
luca@gismo:~/test$ git add test2.txt
luca@gismo:~/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

luca@gismo:~/test$ git push
fatal: The remote end hung up unexpectedly
error: failed to push to 'git://git.debian.org/~gismo/test.git'

luca@gismo:~/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'

luca@gismo:~/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'

luca@gismo:~/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

luca@gismo:~/test$

Reply to: