diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2017-02-16 11:16:08 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2017-02-16 11:20:35 -0700 |
commit | aaa7e6437afe4bcc0be861d3914693182e55c30e (patch) | |
tree | 06a943aad6f5e09ea2a2badcc9b1b457cb69fd52 /bin/src-register-all | |
parent | b8423670b74b50d06925774d9461000595d42fb5 (diff) | |
download | dotfiles-aaa7e6437afe4bcc0be861d3914693182e55c30e.tar.gz |
factor src-register-all out of sysmaint
Diffstat (limited to 'bin/src-register-all')
-rwxr-xr-x | bin/src-register-all | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/bin/src-register-all b/bin/src-register-all new file mode 100755 index 00000000..33348794 --- /dev/null +++ b/bin/src-register-all @@ -0,0 +1,22 @@ +#!/usr/bin/perl + +# Add new all new git/hg repos in ~/src to ~/src/.mrconfig + +use strict; +use warnings; +use File::Basename; +use File::Grep "fgrep"; +use File::chdir; + +foreach my $f ( glob "$ENV{'HOME'}/src/*" ) { + my $short = basename($f); + next unless ( -d "$f/.git" || -d "$f/.hg" ); + unless ( (fgrep { /^\[$short\]$/ } + "$ENV{'HOME'}/src/.mrconfig") + || (fgrep { /^\[\$HOME\/src\/$short\]$/ } + "$ENV{'HOME'}/.mrconfig") ) { + local $CWD = $f; + system "mr register >/dev/null"; + die "failed to register ~/src/$short" unless ($? >> 8 == 0); + } +} |