LINUX.ORG.RU

Заставить xdelta наделать патчей рекурсивно (РЕШЕНО)

 ,


0

1

Итак, есть надобность создать патчи на папку с файлами, но никак...

По идее натравить бы find -exec, но он только один {} поддерживает (или я не понял как передать второй).
Ладно думаю, попробую цикл:

for old in $(find ./1 -type f);
do
	for new in $(find ./2 -type f);
	do
		xdelta3 -e -9 -s $old $new ./3/${new##*/}.delta
	done
done
Только xdelta тогда переписывает содержимым последнего файла в ./1 все .delta файлы. То есть, если применить эти патчи, все файлы превратятся в копии одного.
Как заставить xdelta отработать правильно?
P.S. Предпочтительно решить именно с помощью баша



Последнее исправление: Kapshibergen (всего исправлений: 1)

попробую цикл:

Вот это винегрет!

mkdir -pv ./12
cd ./1
for tfile in *;
do
    xdelta3 -e -9 -s $tfile ../2/$tfile ./12/$tfile.xdelta
done
anonymous
()
Ответ на: комментарий от anonymous

Как говориться «не стреляйте в тапера, он играет как может».
Спасибо за подсказку.

А не подскажешь, как при создании патча, копировать файлы которые есть в «новой» папке и которых нет в «старой», в папку с патчами?

Kapshibergen
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.