diff options
Diffstat (limited to 'debian/examples/index.aux-generation')
-rw-r--r-- | debian/examples/index.aux-generation | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/debian/examples/index.aux-generation b/debian/examples/index.aux-generation new file mode 100644 index 0000000..16390a3 --- /dev/null +++ b/debian/examples/index.aux-generation @@ -0,0 +1,46 @@ +From: Matthew Wilcox <matthew@wil.cx> +To: 383219@bugs.debian.org +Cc: Roland Mas <lolando@debian.org> +Subject: index.aux generation +Date: Thu, 24 Aug 2006 08:55:10 -0600 + +Alioth needs to generate an index.aux file. It'd be helpful if we had +an example script for doing this. Here's the script used for +git.infradead.org (MIT licence, says its author): + +--- cut --- +#!/bin/sh + +cd /home +for a in * ; do [ -r $a/public_git ] && [ ! -d /home/git/users/$a ] && ln -s /home/$a/public_git /home/git/users/$a ; done + +cd /home/git +find . -name 'HEAD' | grep ^[-./=+a-zA-Z0-9]*\$ | sed s:/HEAD\$:: | while read DIR ; do + TREEUID=`stat -c %U $DIR` + TREEUSERNAME=`grep ^$TREEUID: /etc/passwd | cut -f5 -d: | sed s/\ /+/` + if [ "$TREEUSERNAME" = "" ]; then + TREEUSERNAME=$TREEUID + fi + echo $DIR $TREEUSERNAME | sed s:/:%2F:g +done > /home/git/.index.aux.$$ + +mv /home/git/.index.aux.$$ /home/git/.index.aux + +--- cut --- + +I suspect Alioth wants something like (untested ...) + +cd /srv/git.debian.org/git +ls */*/HEAD | grep ^[-./=+a-zA-Z0-9]*\$ | sed s:/HEAD\$:: | while read DIR ; do + TREEUID=`stat -c %U $DIR` + TREEUSERNAME=`XXX` + if [ "$TREEUSERNAME" = "" ]; then + TREEUSERNAME=$TREEUID + fi + echo $DIR $TREEUSERNAME | sed s:/:%2F:g +done > /srv/git.debian.org/.index.aux.$$ + +mv /srv/git.debian.org/.index.aux.$$ /srv/git.debian.org/.index.aux + +where XXX would be how to turn a username into the name of a user. +I dunno how Alioth works; ldap or postgres db seem plausible answers. |