]>
git.madduck.net Git - code/myrepos.git/blobdiff - mr
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
You can retrieve the config file by other means and pass its B<path> as C<src>.
You can retrieve the config file by other means and pass its B<path> as C<src>.
+=item standard input
+
+If source C<src> consists in a single dash C<->, config file is read from
+standard input.
+
=back
The directory will be created if it does not exist. If no directory is
=back
The directory will be created if it does not exist. If no directory is
system((getpwuid($<))[8], "-i");
}
push @failed, $dir;
system((getpwuid($<))[8], "-i");
}
push @failed, $dir;
- print "\n" unless $quiet ;
}
elsif ($ret == SKIPPED) {
push @skipped, $dir;
}
elsif ($ret == SKIPPED) {
push @skipped, $dir;
while (<TRUST>) {
chomp;
s/^~\//$ENV{HOME}\//;
while (<TRUST>) {
chomp;
s/^~\//$ENV{HOME}\//;
- $trusted{abs_path($_)}=1;
+ my $d=abs_path($_);
+ $trusted{$d}=1 if defined $d;
my $action=shift;
# actions that do not operate on all repos
my $action=shift;
# actions that do not operate on all repos
- if ($action eq 'help') {
- help(@ARGV);
- }
- elsif ($action eq 'config') {
+ if ($action eq 'config') {
config(@ARGV);
}
elsif ($action eq 'register') {
config(@ARGV);
}
elsif ($action eq 'register') {
- exec($config{''}{DEFAULT}{help}) || die "exec: $!";
+ my $help=q#
+ case `uname -s` in
+ SunOS)
+ SHOWMANFILE="man -f"
+ ;;
+ Darwin)
+ SHOWMANFILE="man"
+ ;;
+ *)
+ SHOWMANFILE="man"
+ ;;
+ esac
+ if [ ! -e "$MR_PATH" ]; then
+ error "cannot find program path"
+ fi
+ tmp=$(mktemp -t mr.XXXXXXXXXX) || error "mktemp failed"
+ trap "rm -f $tmp" exit
+ pod2man -c mr "$MR_PATH" > "$tmp" || error "pod2man failed"
+ $SHOWMANFILE "$tmp" || error "man failed"
+ #;
+ exec($help) || die "exec: $!";
if $downloader[0] eq 'curl' && $status >> 8 == 60;
die "mr bootstrap: download of $src failed\n" if $status != 0;
}
if $downloader[0] eq 'curl' && $status >> 8 == 60;
die "mr bootstrap: download of $src failed\n" if $status != 0;
}
+ elsif ($src eq '-') {
+ # Config file is read from stdin.
+ copy(\*STDIN, $tmpconfig) || die "stdin: $!";
+ }
else {
# Config file is local.
die "mr bootstrap: cannot read file '$src'"
else {
# Config file is local.
die "mr bootstrap: cannot read file '$src'"
sub main {
getopts();
init();
sub main {
getopts();
init();
+ help(@ARGV) if $ARGV[0] eq 'help';
startingconfig();
loadconfig($HOME_MR_CONFIG);
startingconfig();
loadconfig($HOME_MR_CONFIG);
hg_trusted_checkout = hg clone $url $repo
darcs_trusted_checkout = darcs get $url $repo
git_bare_trusted_checkout = git clone --bare $url $repo
hg_trusted_checkout = hg clone $url $repo
darcs_trusted_checkout = darcs get $url $repo
git_bare_trusted_checkout = git clone --bare $url $repo
-vcsh_trusted_checkout = vcsh run "$MR_REPO" git clone $url $repo
+vcsh_old_trusted_checkout = vcsh run "$MR_REPO" git clone $url $repo
+vcsh_trusted_checkout = vcsh clone $url $repo
# fossil: messy to do
veracity_trusted_checkout = vv clone $url $repo
# fossil: messy to do
veracity_trusted_checkout = vv clone $url $repo
-help =
- case `uname -s` in
- SunOS)
- SHOWMANFILE="man -f"
- ;;
- Darwin)
- SHOWMANFILE="man"
- ;;
- *)
- SHOWMANFILE="man"
- ;;
- esac
- if [ ! -e "$MR_PATH" ]; then
- error "cannot find program path"
- fi
- tmp=$(mktemp -t mr.XXXXXXXXXX) || error "mktemp failed"
- trap "rm -f $tmp" exit
- pod2man -c mr "$MR_PATH" > "$tmp" || error "pod2man failed"
- $SHOWMANFILE "$tmp" || error "man failed"
list = true
config =
bootstrap =
list = true
config =
bootstrap =