]> 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:

add mr list command, and clarify what repos it will choose to act on
[code/myrepos.git] / mr
diff --git a/mr b/mr
index 5cdf9d42d95c364e99089d61367fb3099ea28d76..823e3df3ea1f989c9930684e8a12528409af804a 100755 (executable)
--- a/mr
+++ b/mr
@@ -34,25 +34,23 @@ control system:
 
 =item checkout (or co)
 
 
 =item checkout (or co)
 
-Checks out all the registered repositories that are not already checked
-out.
+Checks out any repositories that are not already checked out.
 
 =item update
 
 
 =item update
 
-Updates each registered repository from its configured remote repository.
+Updates each repository from its configured remote repository.
 
 If a repository isn't checked out yet, it will first check it out.
 
 =item status
 
 
 If a repository isn't checked out yet, it will first check it out.
 
 =item status
 
-Displays a status report for each registered repository, showing what
+Displays a status report for each repository, showing what
 uncommitted changes are present in the repository.
 
 =item commit (or ci)
 
 uncommitted changes are present in the repository.
 
 =item commit (or ci)
 
-Commits changes to each registered repository. (By default, changes
-are pushed to the remote repository too, when using distributed systems
-like git.)
+Commits changes to each repository. (By default, changes are pushed to the
+remote repository too, when using distributed systems like git.)
 
 The optional -m parameter allows specifying a commit message.
 
 
 The optional -m parameter allows specifying a commit message.
 
@@ -60,6 +58,10 @@ The optional -m parameter allows specifying a commit message.
 
 Show a diff of uncommitted changes.
 
 
 Show a diff of uncommitted changes.
 
+=item list
+
+List the repositories that mr will act on.
+
 =item help
 
 Displays this help.
 =item help
 
 Displays this help.
@@ -69,6 +71,15 @@ Displays this help.
 Actions can be abbreviated to any unambiguous subsctring, so
 "mr st" is equivilant to "mr status".
 
 Actions can be abbreviated to any unambiguous subsctring, so
 "mr st" is equivilant to "mr status".
 
+B<mr> operates on all registered repsitories at or below your working
+directory. Or, if you are in a subdirectory of a repository, it will act on
+only that repository.
+
+Additional parameters can be passed to other commands than "commit", they
+will be passed on unchanged to the underlying revision control system.
+This is mostly useful if the repositories mr will act on all use the same
+revision control system.
+
 =head1 OPTIONS
 
 =over 4
 =head1 OPTIONS
 
 =over 4
@@ -279,7 +290,7 @@ sub action {
                push @skipped, $dir;
        }
        else {
                push @skipped, $dir;
        }
        else {
-               print "mr $action: in $dir\n";
+               print "mr $action: $dir\n";
                my $command="set -e; ".$lib.
                        "my_action(){ $config{$topdir}{$subdir}{$action} ; }; my_action ".
                        join(" ", map { s/\//\/\//g; s/"/\"/g; '"'.$_.'"' } @ARGV);
                my $command="set -e; ".$lib.
                        "my_action(){ $config{$topdir}{$subdir}{$action} ; }; my_action ".
                        join(" ", map { s/\//\/\//g; s/"/\"/g; '"'.$_.'"' } @ARGV);
@@ -461,6 +472,7 @@ diff = \
        else \
                error "unknown repo type"; \
        fi
        else \
                error "unknown repo type"; \
        fi
+list = true
 help = \
        if [ ! -e "$MR_PATH" ]; then \
                error "cannot find program path";\
 help = \
        if [ ! -e "$MR_PATH" ]; then \
                error "cannot find program path";\