包含多个相邻斜杠的rsync过滤器不会减少为仅一个斜杠(匹配之前)。它是rsync错误吗?

时间:2018-08-19 14:56:48

标签: filter rsync

以下是rsync错误还是我想让rsync具有的功能? (即,我应该报告它吗? 编辑:我在这里报告了它:https://bugzilla.samba.org/show_bug.cgi?id=13582
以下测试脚本显示,尝试通过使用排除文件列表中的/sourcedir/a/file2来排除文件//sourcedir//a//////file2,因为所有这些相邻的斜杠都不会减少为一个{{1} }。

/

有时相邻斜杠可以进入该排除文件列表文件的原因是,例如,当某个脚本生成该文件并且正在执行类似#!/bin/bash mkdir -p destdir sourcedir/a touch sourcedir/file1 sourcedir/a/file2 echo 'sourcedir' >/tmp/filesfrom.list.tmp echo '//sourcedir//a//////file2' >/tmp/excluded.list.tmp #this won't work unless rsync gets patched #echo '/sourcedir/a/file2' >/tmp/excluded.list.tmp #yes this will work: [sender] hiding file sourcedir/a/file2 because of pattern /sourcedir/a/file2 rsync --recursive --perms --delay-updates --files-from=/tmp/filesfrom.list.tmp --exclude-from=/tmp/excluded.list.tmp --delete-excluded --debug=FILTER1 -- ./ ./destdir/ if test -r 'destdir/sourcedir/a/file2'; then echo 'test failed' else echo 'test succeeded' fi #cleanup rm -rf -- destdir sourcedir rm -- /tmp/excluded.list.tmp /tmp/filesfrom.list.tmp 的操作时,其中${SOMEVAR}/somedir/somefile已经包含结束斜杠。

我制作了一个rsync patch(语法色)以将那些连续的斜杠压缩成一个斜杠,但是我不知道它有多好(如您所见,它也很笨拙)在我看来确实不错(可能是因为我做到了),而且效果很好。我在这里复制它(但是制表符可能会转换为空格-因此请获取raw patch here):

$SOMEVAR

0 个答案:

没有答案