Try with
*cp $(git diff-tree --no-commit-id --name-only --diff-filter=ACMRTU -r
HEAD) transitdir*

See also
$ git help diff-tree

2015-12-18 16:02 GMT+01:00 Ismaila Baradji <baradji.isma...@gmail.com>:

> Hi, thanks very much, this help me a lot,
> but it works only if there are no delete files between the commit files.
> this is my jenkins log
>
> rm -rf target_dir
> + mkdir target_dir
> + git diff-tree --no-commit-id --name-only -r HEAD
> + cp -r --parents puro/error_log puro/tmp/test/tes2/testfile.php target_dir
> cp: cannot stat `puro/error_log': No such file or directory
> Build step 'Execute shell' marked build as failure
> SSH: Current build result is [FAILURE], not going to run.
> Finished: FAILURE
> -----------
> when I displayed the delete files, I have
> jenkins@vm-dev01:~/workspace/pmc$ git diff-tree --no-commit-id --name-status 
> --diff-filter=D -r HEAD
> D     puro/error_log
>
> and to push only added or modified files, I can do
> rm -rf target_dir
> mkdir target_dir
> cp -r --parents $(git diff-tree --no-commit-id --name-status 
> --diff-filter=ACMRTUXB -r $GIT_COMMIT) target_dir
>
> but for the deleted files, I don't know how to do.
> do you have any solution to delete files in the remote directory ?
>
>
>
>
> Le jeudi 17 décembre 2015 17:14:40 UTC-5, Baptiste Mathus a écrit :
>>
>> How about something like:
>>
>> *rm -rf transitdir*
>> *mkdir transitdir*
>> *cp $(git diff-tree --no-commit-id --name-only -r HEAD) transitdir*
>>
>>
>> Then configure publish over ssh to copy every files of that "transitdir"
>> directory.
>>
>> Does that help?
>>
>> 2015-12-17 20:09 GMT+01:00 Ismaila Baradji <baradji...@gmail.com>:
>>
>>> hi Batmat,
>>> thanks for your help.
>>> I create a shell execute commande and add: $ git diff-tree
>>> --no-commit-id --name-only -r GIT_COMMIT
>>>
>>> but how to copy theses files and how to put in the publish over ssh
>>> parameters such as Source files, Remove prefix ?
>>> I read the documentation
>>> https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin,
>>> but I don't know how to do?
>>>
>>> thanks
>>>
>>> Le jeudi 17 décembre 2015 07:19:42 UTC-5, Baptiste Mathus a écrit :
>>>>
>>>> Hi,
>>>> What is "commit files"? Do you mean something like "the files that were
>>>> touched by the last commit" ?
>>>>
>>>> If so, then it should be pretty easy to introduce a shell step for
>>>> example that would call something along
>>>>
>>>> $ git diff-tree --no-commit-id --name-only -r bd61ad98
>>>> <http://stackoverflow.com/a/424142/345845>
>>>>
>>>> Then copy those files in a directory, and configure publish over ssh to
>>>> push all the files of that dir.
>>>>
>>>> My 2 cents.
>>>>
>>>> Cheers
>>>>
>>>> 2015-12-16 21:46 GMT+01:00 Ismaila Baradji <baradji...@gmail.com>:
>>>>
>>>>> Hi,
>>>>> I am trying to configure my job to send only commit files.
>>>>> I have tryed with run ssh and after publish over ssh but no one is not
>>>>> working.
>>>>> any idea?
>>>>>
>>>>>
>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CANWgJS58qDSN4qFew%2BY1tu0NOf6%3Dj-wC%2BW4Kx2bxp-jH2Lv1_w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to