gitolite/t/all-yall.t
Sitaram Chamarty 07cf7fedfe move triggers into their own subdir...
...otherwise 'gitolite help' was getting too confusing, mixing up stuff
that users should not be running directly (even on the server)

----

implementation notes:

those who are worried about the '../triggers/' in various parts of the
code here, remember you can only do that from a command line on the
server.  Remote users can only use commands that have been explicitly
listed in the COMMANDS hash in the rc file.  This means they can't even
access other commands in the same directory as, say, the 'info' command,
so a '../' is definitely not going to work.
2012-03-26 11:02:57 +05:30

90 lines
2.1 KiB
Perl
Executable file

#!/usr/bin/perl
use strict;
use warnings;
# this is hardcoded; change it if needed
use lib "src";
use Gitolite::Test;
# could anything be clearer than "all y'all"?
# ----------------------------------------------------------------------
try "plan 26";
confreset;confadd '
repo @all
R = @all
repo foo
RW+ = u1
repo bar
RW+ = u2
repo dev/..*
C = u3 u4
RW+ = CREATOR
';
try "
rm $ENV{HOME}/projects.list
";
try "ADMIN_PUSH set1; !/FATAL/" or die text();
try "
glt ls-remote u1 file:///dev/wild1
/FATAL: R any dev/wild1 u1 DENIED by fallthru/
glt clone u3 file:///dev/wild1
/Cloning into 'wild1'.../
/Initialized empty Git repository in .*/dev/wild1.git//
/warning: You appear to have cloned an empty repository./
cd wild1
tc n-855 n-856
glt push u3 origin master:wild1
/To file:///dev/wild1/
/\\* \\[new branch\\] master -> wild1/
glt push u1 file:///foo master:br-foo
/To file:///foo/
/\\* \\[new branch\\] master -> br-foo/
glt push u2 file:///bar master:br-bar
/To file:///bar/
/\\* \\[new branch\\] master -> br-bar/
glt ls-remote u6 file:///foo
/refs/heads/br-foo/
glt ls-remote u6 file:///bar
/refs/heads/br-bar/
glt ls-remote u6 file:///dev/wild1
/refs/heads/wild1/
";
try "
gitolite ../triggers/post-compile/update-git-daemon-access-list; ok
gitolite ../triggers/post-compile/update-gitweb-access-list; ok
cat $ENV{HOME}/projects.list; ok
";
cmp 'bar.git
dev/wild1.git
foo.git
gitolite-admin.git
testing.git
';
my $rb = `gitolite query-rc -n GL_REPO_BASE`;
try "
cd ..
cd ..
echo $rb
find $rb -name git-daemon-export-ok | sort
perl s,$rb/,,g
";
cmp 'bar.git/git-daemon-export-ok
dev/wild1.git/git-daemon-export-ok
foo.git/git-daemon-export-ok
gitolite-admin.git/git-daemon-export-ok
testing.git/git-daemon-export-ok
';