X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/157203e8c58b608b328d55ba8dcbcfe791c847f5..2ccc38f4061497e18172d3e9a470c3d489a0e23e:/mr?ds=sidebyside diff --git a/mr b/mr index a4469e9..db3abc5 100755 --- a/mr +++ b/mr @@ -161,11 +161,15 @@ If a number is specified, will recurse into repositories at most that many subdirectories deep. For example, with -n 2 it would recurse into ./src/foo, but not ./src/packages/bar. -=item -j number +=item -j [number] -Run the specified number of jobs in parallel. This can greatly speed up -operations such as updates. It is not recommended for interactive -operations. +Run the specified number of jobs in parallel, or an unlimited number of jobs +with no number specified. This can greatly speed up operations such as updates. +It is not recommended for interactive operations. + +Note that running more than 10 jobs at a time is likely to run afoul of +ssh connection limits. Running between 3 and 5 jobs at a time will yeild +a good speedup in updates without loading the machine too much. =back @@ -510,7 +514,7 @@ sub mrs { #{{{ my @out; my $running=0; while (@fhs or @repos) { - while ($running < $jobs && @repos) { + while ((!$jobs || $running < $jobs) && @repos) { $running++; my $repo = shift @repos; pipe(my $outfh, CHILD_STDOUT); @@ -928,7 +932,7 @@ sub dispatch { #{{{ register(@ARGV); } - if ($jobs > 1) { + if (!$jobs || $jobs > 1) { mrs($action, selectrepos()); } else { @@ -1052,7 +1056,7 @@ sub getopts { #{{{ "v|verbose" => \$verbose, "s|stats" => \$stats, "n|no-recurse:i" => \$max_depth, - "j|jobs=i" => \$jobs, + "j|jobs:i" => \$jobs, ); if (! $result || @ARGV < 1) { die("Usage: mr [-d directory] action [params ...]\n". @@ -1198,14 +1202,14 @@ darcs_log = darcs changes "$@" git_bare_log = git log "$@" svn_register = - url=`LANG=C svn info . | grep -i '^URL:' | cut -d ' ' -f 2` + url=`LC_MESSAGES=C svn info . | grep -i '^URL:' | cut -d ' ' -f 2` if [ -z "$url" ]; then error "cannot determine svn url" fi echo "Registering svn url: $url in $MR_CONFIG" mr -c "$MR_CONFIG" config "`pwd`" checkout="svn co '$url' '$MR_REPO'" git_register = - url="`LANG=C git config --get remote.origin.url`" || true + url="`LC_MESSAGES=C git config --get remote.origin.url`" || true if [ -z "$url" ]; then error "cannot determine git url" fi @@ -1235,7 +1239,7 @@ darcs_register = echo "Registering darcs repository $url in $MR_CONFIG" mr -c "$MR_CONFIG" config "`pwd`" checkout="darcs get '$url'p '$MR_REPO'" git_bare_register = - url="`LANG=C GIT_CONFIG=config git config --get remote.origin.url`" || true + url="`LC_MESSAGES=C GIT_CONFIG=config git config --get remote.origin.url`" || true if [ -z "$url" ]; then error "cannot determine git url" fi