directory tree.
VERSION
- Version 0.03
+ Version 0.07
SYNOPSIS
- rgit [GIT_OPTIONS] COMMAND [COMMAND_ARGS]
+ rgit [-K|-I|-D|-V] [GIT_OPTIONS] COMMAND [COMMAND_ARGS]
DESCRIPTION
- This utility recursively searches in the current directory (or in the
- directory given by the "GIT_DIR" environment variable if it's set) for
- all git repositories, sort this list by the repository path, "chdir"
- into each of them, and executes the specified git command. Moreover,
- those formats are substuted in the arguments before running the command
- :
+ This utility recursively searches in a root directory (which may be the
+ current working directory or - if it has been set - the directory given
+ by the "GIT_DIR" environment variable) for all git repositories, sort
+ this list by the repository path, "chdir" into each of them, and
+ executes the specified git command. For efficiency reasons, repositories
+ located inside a bare repository or under the .git directory of a work
+ repository won't be searched for.
- * "^n" with the current repository name.
+ Moreover, those formats are substituted in the arguments before running
+ the command :
- * "^g" with the relative path to the current repository.
+ * %n with the current repository name.
- * "^G" with the absolute path to the current repository.
+ * %g with the relative path (based from the root directory) to the
+ current repository.
- * "^w" with the relative path to the current repository's working
- directory.
+ * %G with the absolute path to the current repository.
+
+ * %w with the relative path (based from the root directory) to the
+ current repository's working directory.
- * "^W" with the absolute path to the current repository's working
+ * %W with the absolute path to the current repository's working
directory.
- * "^b" with a "bareified" relative path, i.e. "^g" if this is a bare
- repository, and "^w.git" otherwise.
+ * %b with a "bareified" relative path, i.e. %g if this is a bare
+ repository, and "%w.git" otherwise.
- * "^B" with an absolute version of the "bareified" path.
+ * %B with an absolute version of the "bareified" path.
- * "^R" with the absolute path to the current root directory.
+ * %R with the absolute path to the root directory.
- * "^^" with a bare "^".
+ * "%%" with a bare "%".
There are actually a few commands that are only executed once in the
- current directory : "version", "help", "daemon" and "init". For any of
- those, no format substitution is done.
+ root directory : "daemon", "gui", "help", "init" and "version". For any
+ of those, no format substitution is done.
You can specify which "git" executable to use with the "GIT_EXEC_PATH"
environment variable.
+COMMAND LINE SWITCHES
+ "rgit" takes its options as the capital switches that comes before the
+ git command. It's possible to bundle them together. They are removed
+ from the argument list before calling "git".
+
+ * "-K"
+
+ Keep processing on error. The default policy is to stop whenever an
+ error occured.
+
+ * "-I"
+
+ Enables interactive mode when the standard input is a tty. Requires
+ Term::ReadKey to be installed. This lets you choose interactively
+ what to do when one of the commands returns a non-zero status.
+
+ * "-D"
+
+ Outputs diagnostics.
+
+ * "-V"
+
+ Outputs the version.
+
EXAMPLES
Execute "git gc" on all the repositories below the current directory :
Tag all the repositories with their name :
- rgit tag ^n
+ rgit tag %n
Add a remote to all repositories in "/foo/bar" to their bare counterpart
in "qux" on host :
- GIT_DIR="/foo/bar" rgit remote add host git://host/qux/^b
+ GIT_DIR="/foo/bar" rgit remote add host git://host/qux/%b
DEPENDENCIES
- The core modules Carp, Cwd, Exporter, File::Find, File::Spec::Functions
- and List::Util.
-
- Object::Tiny.
+ The core modules Carp, Config, Cwd, Exporter, File::Find, File::Spec and
+ POSIX.
AUTHOR
Vincent Pit, "<perl at profvince.com>", <http://profvince.com>.
<http://www.profvince.com/perl/cover/rgit>.
COPYRIGHT & LICENSE
- Copyright 2008 Vincent Pit, all rights reserved.
+ Copyright 2008,2009,2010 Vincent Pit, all rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.