diff --git a/doc/release_new_version b/doc/release_new_version index b4bab794..d31f5733 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -201,13 +201,15 @@ cc:Sandro Cazzaniga , Ryoichiro Suzuki , Jesse Alama -Subject: GNU Parallel 20131222 ('Yutu') released +Subject: GNU Parallel 20131222 ('Yutu' 玉兔) released -GNU Parallel 20131222 ('Yutu') has been released. It is +GNU Parallel 20131222 ('Yutu' 玉兔) has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/ New in this release: +* Using GNU Parallel to create a SVM classifier + http://ivanyu.me/blog/2013/12/01/parallel/ * Mon make à moi (French) http://www.slideshare.net/lindenb/mon-make-moi-tout-sauf-galaxy diff --git a/src/parallel b/src/parallel index fbda66e8..020de892 100755 --- a/src/parallel +++ b/src/parallel @@ -4427,7 +4427,9 @@ sub sshlogin_wrap { if($opt::workdir) { my $wd = ::shell_quote_file($self->workdir()); $remote_pre .= ::shell_quote_scalar("mkdir -p ") . $wd . - ::shell_quote_scalar("; cd ") . $wd . ::shell_quote_scalar(" && "); + ::shell_quote_scalar("; cd ") . $wd . + ::shell_quote_scalar(qq{ || sh -c 'echo "$Global::progname: Error: cannot cd to $wd" 1>&2' }. + "&& exit 255; "); } $self->{'sshlogin_wrap'} = ($pre diff --git a/src/parallel_tutorial.1 b/src/parallel_tutorial.1 index 73475c46..9580727d 100644 --- a/src/parallel_tutorial.1 +++ b/src/parallel_tutorial.1 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PARALLEL_TUTORIAL 1" -.TH PARALLEL_TUTORIAL 1 "2013-09-28" "20131122" "parallel" +.TH PARALLEL_TUTORIAL 1 "2013-12-03" "20131122" "parallel" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -1877,7 +1877,7 @@ Output: .Ve .PP \&\s-1GNU\s0 Parallel can copy all defined variables and functions to the -remote system. It just need to record which ones to ignore in +remote system. It just needs to record which ones to ignore in ~/.parallel/ignored_vars. Do that by running this once: .PP .Vb 2 @@ -2049,7 +2049,8 @@ Output (the order may be different): \& 20000 20000 140001 .Ve .PP -Notice that the last jobs could not get the full 140000 lines. +Notice that the last job could not get the full 140000 lines, but only +20000 lines. .PP If a record is 75 lines \-L can be used: .PP diff --git a/src/parallel_tutorial.html b/src/parallel_tutorial.html index 806e6484..e7b42553 100644 --- a/src/parallel_tutorial.html +++ b/src/parallel_tutorial.html @@ -1287,7 +1287,7 @@ remote system.

   in my_func baz

GNU Parallel can copy all defined variables and functions to the -remote system. It just need to record which ones to ignore in +remote system. It just needs to record which ones to ignore in ~/.parallel/ignored_vars. Do that by running this once:

   parallel --record-env
@@ -1413,7 +1413,8 @@ line.

140000 140000 980000 140000 140000 980000 20000 20000 140001
-

Notice that the last jobs could not get the full 140000 lines.

+

Notice that the last job could not get the full 140000 lines, but only +20000 lines.

If a record is 75 lines -L can be used:

   cat num1000000 | parallel --pipe -L75 wc
diff --git a/src/parallel_tutorial.pdf b/src/parallel_tutorial.pdf index cf0a1154..ca22a4ce 100644 Binary files a/src/parallel_tutorial.pdf and b/src/parallel_tutorial.pdf differ diff --git a/src/parallel_tutorial.pod b/src/parallel_tutorial.pod index 99f69b86..b4c0bcf7 100644 --- a/src/parallel_tutorial.pod +++ b/src/parallel_tutorial.pod @@ -1373,7 +1373,7 @@ Output: in my_func baz GNU Parallel can copy all defined variables and functions to the -remote system. It just need to record which ones to ignore in +remote system. It just needs to record which ones to ignore in ~/.parallel/ignored_vars. Do that by running this once: parallel --record-env @@ -1515,7 +1515,8 @@ Output (the order may be different): 140000 140000 980000 20000 20000 140001 -Notice that the last jobs could not get the full 140000 lines. +Notice that the last job could not get the full 140000 lines, but only +20000 lines. If a record is 75 lines -L can be used: diff --git a/testsuite/tests-to-run/parallel-local-ssh2.sh b/testsuite/tests-to-run/parallel-local-ssh2.sh index d7fd4e3d..8f685635 100644 --- a/testsuite/tests-to-run/parallel-local-ssh2.sh +++ b/testsuite/tests-to-run/parallel-local-ssh2.sh @@ -4,4 +4,10 @@ cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | stdout paral echo '### --filter-hosts --slf <()' parallel --nonall --filter-hosts --slf <(echo localhost) echo OK +echo '### --wd no-such-dir' + stdout parallel --wd /no-such-dir -S csh@localhost echo ::: 1; echo Exit code $? + stdout parallel --wd /no-such-dir -S tcsh@localhost echo ::: 1; echo Exit code $? + stdout parallel --wd /no-such-dir -S parallel@localhost echo ::: 1; echo Exit code $? + + EOF diff --git a/testsuite/wanted-results/parallel-local-ssh2 b/testsuite/wanted-results/parallel-local-ssh2 index 9c898686..802942e2 100644 --- a/testsuite/wanted-results/parallel-local-ssh2 +++ b/testsuite/wanted-results/parallel-local-ssh2 @@ -1,2 +1,15 @@ ### --filter-hosts --slf <() OK +### --wd no-such-dir +mkdir: cannot create directory ‘/no-such-dir’: Permission denied +bash: line 0: cd: /no-such-dir: No such file or directory +parallel: Error: cannot cd to /no-such-dir +Exit code 1 +mkdir: cannot create directory ‘/no-such-dir’: Permission denied +bash: line 0: cd: /no-such-dir: No such file or directory +parallel: Error: cannot cd to /no-such-dir +Exit code 1 +mkdir: cannot create directory ‘/no-such-dir’: Permission denied +bash: line 0: cd: /no-such-dir: No such file or directory +parallel: Error: cannot cd to /no-such-dir +Exit code 1