]>
git.madduck.net Git - code/myrepos.git/commitdiff
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:
summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (parent:
f3e4e5d )
+mr is intended to be very self-contained, since it might be useful to check
+it into ~/bin when keeping your home in version control. It has no
+dependencies aside from basic perl.
+
Just copy mr into your PATH somewhere, and set up ~/.mrconfig
Just copy mr into your PATH somewhere, and set up ~/.mrconfig
#!/usr/bin/make -f
build:
#!/usr/bin/make -f
build:
- pod2man -c mr mr > mr.1
B<mr> [options] commit [-m "message"]
B<mr> [options] commit [-m "message"]
B<mr> [options] action [params ...]
=head1 DESCRIPTION
B<mr> [options] action [params ...]
=head1 DESCRIPTION
The optional -m parameter allows specifying a commit message.
The optional -m parameter allows specifying a commit message.
+=item diff
+
+Show a diff of uncommitted changes.
+
+=item help
+
+Displays this help.
+
=back
Actions can be abbreviated to any unambiguous subsctring, so
=back
Actions can be abbreviated to any unambiguous subsctring, so
"v" => \$verbose,
);
if (! $result || @ARGV < 1) {
"v" => \$verbose,
);
if (! $result || @ARGV < 1) {
- die("Usage: mr [-d directory] action [params ...]\n");
+ die("Usage: mr [-d directory] action [params ...]\n".
+ "(Use mr help for man page.)\n");
+
#use Data::Dumper;
#print Dumper(\%config);
#use Data::Dumper;
#print Dumper(\%config);
+eval {
+ use FindBin qw($Bin $Script);
+ $ENV{MR_PATH}=$Bin."/".$Script;
+};
+
# alias expansion and command stemming
my $action=shift @ARGV;
if (! exists $knownactions{$action}) {
# alias expansion and command stemming
my $action=shift @ARGV;
if (! exists $knownactions{$action}) {
+if ($action eq 'help') {
+ exec($config{''}{default}{help});
+}
+
# handle being in a subdir of a repository
foreach my $topdir (sort keys %config) {
foreach my $subdir (sort keys %{$config{$topdir}}) {
# handle being in a subdir of a repository
foreach my $topdir (sort keys %config) {
foreach my $subdir (sort keys %{$config{$topdir}}) {
}
action($action, $dir, $topdir, $subdir);
}
action($action, $dir, $topdir, $subdir);
else \
error "unknown repo type"; \
fi
else \
error "unknown repo type"; \
fi
+diff = \
+ if [ -d .svn ]; then \
+ svn diff "$@"; \
+ elif [ -d .git ]; then \
+ git diff "$@"; \
+ else \
+ error "unknown repo type"; \
+ fi
+help = \
+ if [ ! -e "$MR_PATH" ]; then \
+ error "cannot find program path";\
+ fi; \
+ (pod2man -c mr "$MR_PATH" | man -l -) || \
+ error "pod2man or man failed"