blob: 16390a395de13f51342c6c171f1acf09fb6eede0 [file] [log] [blame]
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.