Мой проект имеет следующую структуру
/project/config.mk
/project/dir1/config.mk -> ../config.mk
/project/dir2/config.mk -> ../config.mk
Когда я использовал diff
для создания файла патча, /project/config.mk
был выполнен правильно, но две символические ссылки вызвали некоторые проблемы. Они оба рассматривались как новые файлы, разделы diff были всем содержимым файла config.mk
. Я пытался найти параметр diff
, чтобы отключить следующую символическую ссылку, но такой опции нет. Любые предложения приветствуются.
По предложению Overbose я создаю этот скрипт. Оно работает. Спасибо всем, что нашли время ответить.
#!/bin/sh -v
ori_dir=$1
new_dir=$2
patch_file=./patch_file
if [ -f ${patch_file} ]
then
rm ${patch_file}
fi
ori_files=`cd ${ori_dir} ; find ./ -type f ! -type l`
for i in ${ori_files} ; do
if [ -f ${ori_dir}/$i ]
then
if [ -f ${new_dir}/$i ]
then
diff -rup ${ori_dir}/$i ${new_dir}/$i >> ${patch_file}
fi
fi
done