2010-04-12 20 views
4

我有两个大的源代码树。其中一个有一些过时的图像文件。我想自动更新一个源代码树中的所有旧图像文件(png,jpg,gif)和另一个源代码树中的最新图像文件。如何同步两个本地文件结构

我使用Windows 7,但我已安装Cygwin。我已经尝试使用rsync到目前为止,但没有成功。

我希望我可以做这样的事情:

rsync -r *.png newSourceTree oldSourceTree 

如果达到同样的事情,例如一些其他的方式一个Perl或Bash脚本,我也会公开使用它。

任何帮助将不胜感激。

谢谢, 詹姆斯。

回答

1

什么:

robocopy c:\source\ c:\destination\ *.png *.gif /s 
+0

谢谢亚历克斯。我甚至没有考虑Windows解决方案:/ – James 2010-04-12 14:29:48

2

你想:

rsync -av --include '*.png' --include '*/' --exclude '*' newSourceTree/ oldSourceTree/ 

一个快速的解释: 您要包括PNG文件,包括所有目录(以便它可以递归),然后排除其他一切。包含/排除从左到右进行处理,并默认包含所有内容。

1

Unison专为这类问题而设计。使用

unison oldTree newTree -force newer 

如果你想让它只触摸图像文件,阅读文档可以同步所有文件。