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

* Add the -n switch, for disabling recursion.
authorJoey Hess <joey@kodama.kitenet.net>
Thu, 18 Oct 2007 19:20:19 +0000 (15:20 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Thu, 18 Oct 2007 19:20:19 +0000 (15:20 -0400)
debian/changelog
mr

index 8fa6c0911814d47a752882cb920d42720e13243b..ef53f9f553936e5d27268ea50c85327d3b750c20 100644 (file)
@@ -6,8 +6,9 @@ mr (0.4) UNRELEASED; urgency=low
   * Ensure parent dir exists prior to checkout. (madduck)
   * Output list of failed repos to stderr when -s is used.
   * Fix a bug caused by a stupid typo.
   * Ensure parent dir exists prior to checkout. (madduck)
   * Output list of failed repos to stderr when -s is used.
   * Fix a bug caused by a stupid typo.
+  * Add the -n switch, for disabling recursion.
 
 
- -- Joey Hess <joeyh@debian.org>  Thu, 18 Oct 2007 15:00:00 -0400
+ -- Joey Hess <joeyh@debian.org>  Thu, 18 Oct 2007 15:18:40 -0400
 
 mr (0.3) unstable; urgency=low
 
 
 mr (0.3) unstable; urgency=low
 
diff --git a/mr b/mr
index e41264c12e9214027dcb8d9b06b6ec413e95e273..44fb671e856749684eff8f98b4a7ed9ac2c270dd 100755 (executable)
--- a/mr
+++ b/mr
@@ -146,6 +146,11 @@ Be verbose.
 Expand the statistics line displayed at the end to include information
 about exactly which repositories failed and were skipped, if any.
 
 Expand the statistics line displayed at the end to include information
 about exactly which repositories failed and were skipped, if any.
 
+=item -n
+
+Just operate on the repository for the current directory, do not 
+recurse into deeper repositories.
+
 =back
 
 =head1 FILES
 =back
 
 =head1 FILES
@@ -259,6 +264,7 @@ $ENV{MR_CONFIG}="$ENV{HOME}/.mrconfig";
 my $directory=getcwd();
 my $verbose=0;
 my $stats=0;
 my $directory=getcwd();
 my $verbose=0;
 my $stats=0;
+my $no_recurse=0;
 my %config;
 my %knownactions;
 my %alias;
 my %config;
 my %knownactions;
 my %alias;
@@ -269,6 +275,7 @@ my $result=GetOptions(
        "c|config=s" => sub { $ENV{MR_CONFIG}=abs_path($_[1]) },
        "v|verbose" => \$verbose,
        "s|stats" => \$stats,
        "c|config=s" => sub { $ENV{MR_CONFIG}=abs_path($_[1]) },
        "v|verbose" => \$verbose,
        "s|stats" => \$stats,
+       "n|no-recurse" => \$no_recurse,
 );
 if (! $result || @ARGV < 1) {
        die("Usage: mr [-d directory] action [params ...]\n".
 );
 if (! $result || @ARGV < 1) {
        die("Usage: mr [-d directory] action [params ...]\n".
@@ -362,6 +369,7 @@ foreach my $topdir (sort keys %config) {
                my $d=$directory;
                $dir.="/" unless $dir=~/\/$/;
                $d.="/" unless $d=~/\/$/;
                my $d=$directory;
                $dir.="/" unless $dir=~/\/$/;
                $d.="/" unless $d=~/\/$/;
+               next if $no_recurse && $d ne $dir;
                next if $dir ne $d && $dir !~ /^\Q$d\E/;
                push @repos, [$dir, $topdir, $subdir];
        }
                next if $dir ne $d && $dir !~ /^\Q$d\E/;
                push @repos, [$dir, $topdir, $subdir];
        }