anchor.diff:                            ok = cp_r_win32({filelib:is_dir(Src), Src}, Dst)
                     end, filelib:wildcard(Source)),
       ok.
  +
  +escape_spaces(Str) ->
  +    re:replace(Str, " ", "\\\\ ", [global, {return, list}]).
  
positive.code: rm_rf(Target) ->
      case os:type() of
          {unix, _} ->
              EscTarget = re:replace(Target, " ", "\\\\ ",
                                     [global, {return, list}]),
              {ok, []} = rebar_utils:sh(?FMT("rm -rf ~s", [EscTarget]),
                                        [{use_stdout, false}, return_on_error]),
              ok;
  
negative.code: cp_r(Sources, Dest) ->
      case os:type() of
          {unix, _} ->
              EscSources = [escape_spaces(Src) || Src <- Sources],
              SourceStr = string:join(EscSources, " "),
              {ok, []} = rebar_utils:sh(?FMT("cp -R ~s \"~s\"",
                                             [SourceStr, Dest]),
                                        [{use_stdout, false}, return_on_error]),
  