Como posso encontrar repositórios .git e pull'em all?

1

Eu tentei.

$ find . -name .git -type d -execdir git pull {};
find: The relative path ‘%ANDROID_HOME%/tools’ is
included in the PATH environment variable,
which is insecure in combination with the
-execdir action of find.  Please remove that entry from $PATH

Como posso resolver isso?

    
por Jin Kwon 07.02.2016 / 20:19

1 resposta

1

Substitua ; por + no final.

Na página de manual:

   -execdir command {} +
          Like -exec, but the specified command is run from the subdirectory  containing
          the  matched  file,  which  is not normally the directory in which you started
          find.  This a much more secure method for invoking commands, as it avoids race
          conditions  during  resolution of the paths to the matched files.  As with the
          -exec action, the '+' form of -execdir will build a command  line  to  process
          more than one matched file, but any given invocation of command will only list
          files that exist in the same subdirectory.  If you use this option,  you  must
          ensure that your $PATH environment variable does not reference '.'; otherwise,
          an attacker can run any commands they like by leaving  an  appropriately-named
          file  in a directory in which you will run -execdir.  The same applies to hav‐
          ing entries in $PATH which are empty  or  which  are  not  absolute  directory
          names.   If  find  encounters  an error, this can sometimes cause an immediate
          exit, so some pending commands may not be run at all.
    
por 08.02.2016 / 03:49

Tags