Encontre todos os arquivos svn modificados e copie os arquivos modificados na mesma estrutura de pastas

2

Eu recebo todos os arquivos svn modificados usando o comando svn st | grep ^M

M       student/includes/class_student_promotion.php
M       student/includes/class_student_report.php
M       student/resources/js/student_co_scholistic_activities.js
M       staff/php/edit_staff_details.php
M       library/includes/class_book_return.php
M       library/includes/class_book_item_stock_entry.php
M       library/includes/class_library_common_function.php
M       library/includes/auto_book_name_list.php
M       library/includes/class_book_issue.php
M       library/php/book_item_details_entry.php
M       includes/connection.php
M       includes/links.php
M       staff_student/php/student_time_table.php
M       assignment/php/ajax_created_assignment_report.php
M       assignment/php/ajax_submitted_assignment_report.php
M       student_attendance/php/date_wise_attendance_summary_report.php
M       student_attendance/resources/js/holiday_master.js

e minha exigência é que eu queira que os arquivos listados na saída sejam copiados na mesma estrutura de pastas. O Like inclui a pasta a ser criada e apenas os arquivos listados no svn st devem ser copiados.

Este comando

cp 'svn st | ack '^M' | cut -b 8-' backup

pode copiar todos os arquivos modificados para um diretório, mas O que eu espero é que eu queira que as pastas contendo os arquivos modificados também sejam criadas

    
por Danny 06.03.2015 / 06:37

1 resposta

1

Assumindo que com pasta você quer dizer diretório e assumindo que não possui espaços ou caracteres especiais em seus nomes de arquivos e diretórios:

svn st | ack '^M' | cut -b 8- | cpio -pdmv backup

Isso é cpio no modo de passagem ( -p ). É necessária uma lista de nomes de arquivos para copiar de stdin. -d permite criar diretórios, -m preserva os tempos de modificação e -v torna-o detalhado. Qualquer nome de arquivo no stdin é copiado para o diretório de destino, student/includes/class_student_promotion.php será copiado para backup/student/includes/class_student_promotion.php

    
por 06.03.2015 / 09:06