Как скопировать файлы из одного проекта кода в другой - PullRequest
0 голосов
/ 03 октября 2008

У меня проверено несколько веток проекта, каждая в своем каталоге (довольно стандартно).

ЦСИ / branch1 / некоторые / код / ​​каталоги SRC / branch2 / некоторые / код / ​​каталоги

Мне часто хочется скопировать выбранные файлы из одной ветви в другую. Примером может быть копирование файлов cvsignore или файлов модуля intellij. Псевдокоманда для того, что я пытаюсь сделать, это «скопировать все файлы в Branch1, соответствующие PATTERN, в Branch2, сохраняя относительный путь скопированного файла».

Этот вопрос выглядит близко к тому, что я ищу, но мне нужно решение для OS X / linux / unix.

1 Ответ

1 голос
/ 03 октября 2008

Используйте команду "cp -r --parents", например, в каталоге branch1

find . -name ".cvsignore" -exec cp -r --parents {} ../branch2/ \;

OR

Запустите этот скрипт в каталоге src /. Вы можете получить переменные из параметров командной строки, если хотите.

SOURCE="branch1/"
TARGET="branch2/"
PATTERN=".cvsignore"

find $SOURCE -name $PATTERN | while read f ;
do
        FILEPATH=$(dirname $f | cut -d'/' -f2-)
        FILENAME=$(basename $f)
        DESTPATH=$TARGET/$FILEPATH;
        if [ ! -d $DESTPATH ]
                then mkdir -p $DESTPATH
        fi
        cp $f $DESTPATH
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...