merge all the '-h' related changes
run through the main test suite, (which really only uses 2 of these programs), smoke tested the others, but not rigorously tested otherwise
This commit is contained in:
commit
a6ab6cd18d
|
@ -1,6 +1,15 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die() { echo "$@" >&2; exit 1; }
|
die() { echo "$@" >&2; exit 1; }
|
||||||
|
if [ "$1" = "-h" ]
|
||||||
|
then
|
||||||
|
echo Usage:
|
||||||
|
echo " gl-admin-push [any options applicable to 'git push' command]"
|
||||||
|
echo
|
||||||
|
echo "Please see the 'gl-admin-push: ...' section in doc/tips-notes.mkd (Online at"
|
||||||
|
echo " http://sitaramc.github.com/gitolite/adminpush.html)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,10 @@
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
|
if (not @ARGV and -t or $ARGV[0] eq '-h') {
|
||||||
|
print "Usage:\n gl-conf-convert < gitosis.conf > gitolite.conf\n(please the documentation for more)\n";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
my @comments = ();
|
my @comments = ();
|
||||||
my $groupname;
|
my $groupname;
|
||||||
|
|
|
@ -11,7 +11,7 @@ cat <<EOFU
|
||||||
This is a quick hack. It is not "production quality". Resist the temptation
|
This is a quick hack. It is not "production quality". Resist the temptation
|
||||||
to turn this into an update.secondary hook and put it on the server. I WILL
|
to turn this into an update.secondary hook and put it on the server. I WILL
|
||||||
NOT BE RESPONSIBLE FOR ANY PROBLEMS IF YOU DO THAT. (Even more so if you use
|
NOT BE RESPONSIBLE FOR ANY PROBLEMS IF YOU DO THAT. (Even more so if you use
|
||||||
'git checkout $3' *without* setting GIT_INDEX_FILE to something temporary, and
|
'git checkout' *without* setting GIT_INDEX_FILE to something temporary, and
|
||||||
eventually realise that *deleted* files don't stay deleted...! And if you
|
eventually realise that *deleted* files don't stay deleted...! And if you
|
||||||
didn't understand that, all the more reason not to do it).
|
didn't understand that, all the more reason not to do it).
|
||||||
|
|
||||||
|
@ -35,6 +35,8 @@ EOFU
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ "$1" = "-h" ] && usage
|
||||||
|
|
||||||
[ -n "$1" ] || die "need an admin username"
|
[ -n "$1" ] || die "need an admin username"
|
||||||
admin="$1"; shift
|
admin="$1"; shift
|
||||||
|
|
||||||
|
@ -69,7 +71,7 @@ $GL_CONF_COMPILED="$GL_ADMINDIR/conf/gitolite.conf-compiled.pm";
|
||||||
$GL_WILDREPOS = 1;
|
$GL_WILDREPOS = 1;
|
||||||
$PROJECTS_LIST = $ENV{PWD} . "/projects.list";
|
$PROJECTS_LIST = $ENV{PWD} . "/projects.list";
|
||||||
$REPO_UMASK = 0077;
|
$REPO_UMASK = 0077;
|
||||||
$GL_BIG_CONFIG = 0;
|
$GL_BIG_CONFIG = 1;
|
||||||
$GL_NO_DAEMON_NO_GITWEB = 1;
|
$GL_NO_DAEMON_NO_GITWEB = 1;
|
||||||
$GIT_PATH="";
|
$GIT_PATH="";
|
||||||
$GL_GITCONFIG_KEYS = ".*";
|
$GL_GITCONFIG_KEYS = ".*";
|
||||||
|
@ -86,7 +88,7 @@ EOF
|
||||||
|
|
||||||
# now compile it
|
# now compile it
|
||||||
echo compiling...
|
echo compiling...
|
||||||
$GL_BINDIR/gl-compile-conf
|
$GL_BINDIR/gl-compile-conf || die "compile failed; aborting rest of run"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "checking if $admin has push rights..."
|
echo "checking if $admin has push rights..."
|
||||||
|
|
|
@ -39,6 +39,11 @@ die "fatal: GL_HOSTNAME not set in rc; mirroring disabled\n" unless $GL_HOSTNAME
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
die "please read the gitolite mirroring documentation; this program is too
|
||||||
|
critical for you to just run it based on a 'usage' message.\n" if not @ARGV or $ARGV[0] eq '-h';
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------------
|
||||||
|
|
||||||
# deal with local invocations first
|
# deal with local invocations first
|
||||||
|
|
||||||
# on the "master", run from a shell, for one specific repo, with an optional
|
# on the "master", run from a shell, for one specific repo, with an optional
|
||||||
|
@ -77,8 +82,6 @@ if ( ($ARGV[0] || '') eq 'request-push' and not $ENV{SSH_ORIGINAL_COMMAND} ) {
|
||||||
exit 0;
|
exit 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
unless (@ARGV) { print STDERR "fatal: missing command\n"; exit 1; }
|
|
||||||
|
|
||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
# now the remote invocations; log it, then get the sender name
|
# now the remote invocations; log it, then get the sender name
|
||||||
|
|
|
@ -53,7 +53,7 @@ exit 0;
|
||||||
sub check_args {
|
sub check_args {
|
||||||
return unless @ARGV;
|
return unless @ARGV;
|
||||||
return if @ARGV == 3;
|
return if @ARGV == 3;
|
||||||
die "I need all 3 directories (bin-dir, conf-dir, hooks-dir) or none\n";
|
usage();
|
||||||
}
|
}
|
||||||
|
|
||||||
sub argv_or_defaults {
|
sub argv_or_defaults {
|
||||||
|
@ -127,3 +127,18 @@ sub path_advice {
|
||||||
$path_advice;
|
$path_advice;
|
||||||
#>>>
|
#>>>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub usage {
|
||||||
|
print "
|
||||||
|
Usage:
|
||||||
|
gl-system-install [bin-dir conf-dir hooks-dir]
|
||||||
|
|
||||||
|
Requires all 3 arguments or none. All arguments supplied must be absolute
|
||||||
|
paths. The following defaults are used if arguments are not supplied:
|
||||||
|
|
||||||
|
as normal user: \$HOME/bin, \$HOME/share/gitolite/conf, \$HOME/share/gitolite/hooks
|
||||||
|
as root: /usr/local/bin, /var/gitolite/conf, /var/gitolite/hooks
|
||||||
|
";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ use gitolite_rc;
|
||||||
use gitolite;
|
use gitolite;
|
||||||
|
|
||||||
sub usage { print <DATA>; exit 1; }
|
sub usage { print <DATA>; exit 1; }
|
||||||
usage() unless (@ARGV);
|
usage() if (not @ARGV) or $ARGV[0] eq '-h';
|
||||||
|
|
||||||
my $cmd = shift;
|
my $cmd = shift;
|
||||||
my $pub = shift;
|
my $pub = shift;
|
||||||
|
|
|
@ -8,7 +8,8 @@ use warnings;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
my $admin = 0;
|
my $admin = 0;
|
||||||
my $quiet = 0;
|
my $quiet = 0;
|
||||||
GetOptions('admin|a=s' => \$admin, 'quiet|q' => \$quiet);
|
my $help = 0;
|
||||||
|
GetOptions('admin|a=s' => \$admin, 'quiet|q' => \$quiet, 'help|h' => $help);
|
||||||
|
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
$Data::Dumper::Deepcopy = 1;
|
$Data::Dumper::Deepcopy = 1;
|
||||||
|
@ -31,7 +32,7 @@ sub msg {
|
||||||
print "sshkeys-lint: " . ( $warning ? "WARNING: " : "" ) . $_ for @_;
|
print "sshkeys-lint: " . ( $warning ? "WARNING: " : "" ) . $_ for @_;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ARGV or not -t or usage();
|
usage() if not @ARGV and -t or $help;
|
||||||
our @pubkeyfiles = @ARGV; @ARGV = ();
|
our @pubkeyfiles = @ARGV; @ARGV = ();
|
||||||
|
|
||||||
# ------------------------------------------------------------------------
|
# ------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in a new issue