diff options
Diffstat (limited to 'gitolite-tools/user_repos.pl')
-rwxr-xr-x | gitolite-tools/user_repos.pl | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gitolite-tools/user_repos.pl b/gitolite-tools/user_repos.pl new file mode 100755 index 0000000..3274ab3 --- /dev/null +++ b/gitolite-tools/user_repos.pl @@ -0,0 +1,31 @@ +#!/usr/bin/perl + +## Lists every repository a given user can read + +use strict; +use warnings; + +$ENV{GL_USER} = $ARGV[0]; + +BEGIN { + $ENV{HOME} = "/home/git"; + $ENV{GL_BINDIR} = "/home/git/gitolite/src"; + $ENV{GL_LIBDIR} = "/home/git/gitolite/src/lib"; +}; + +# Pull in gitolite's perl API module. Among other things, this also sets the +# GL_REPO_BASE environment variable. +use lib $ENV{GL_LIBDIR}; +use Gitolite::Rc; +use Gitolite::Common; +use Gitolite::Conf::Load; +use Gitolite::Easy; + +_chdir( $rc{GL_REPO_BASE} ); +my $repos = list_phy_repos(1); + +for my $repo (@$repos) { + if (can_read($repo)) { + print $repo . ".git\n"; + } +} |