Module: tools Branch: master Commit: a36a95cfab9a1f984e2649f69e4d4218273600d7 URL: http://source.winehq.org/git/tools.git/?a=commit;h=a36a95cfab9a1f984e2649f69...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Nov 8 18:21:48 2017 +0100
patches: Create an intermediate directory level for patches on the website.
This avoids having hundreds of thousands of files in the same directory.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
patches/update | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/patches/update b/patches/update index 87e640d..e4ede03 100755 --- a/patches/update +++ b/patches/update @@ -91,6 +91,7 @@ my $dir = $ARGV[0] || "$ENV{HOME}/patches"; my $dest = "/home/winehq/opt/source/patches"; my %patches; my %messages; +my %subdirs;
sub format_author($) { @@ -218,6 +219,7 @@ foreach my $file (readdir DIR) $messages{$patch{"msgid"}} = %patch; } $patches{$file} = %patch; + if ($file =~ /^([0-9]+)[0-9]{4}$/) { $subdirs{$1} = 1; } } closedir DIR;
@@ -449,5 +451,9 @@ print INDEX $sorter; print INDEX end_html; close INDEX;
-!system "rsync", "-q", "-r", "--chmod=+r", "--exclude=OLD/", "$dir/", "$dest/data" or die "rsync failed: $?"; +foreach (keys %subdirs) +{ + !system "rsync", "-q", "-r", "--chmod=+r", "--include=$_*", "--exclude=*", "$dir/", "$dest/data/$_" or die "rsync failed: $?"; +} + rename "$dest/index.html.new", "$dest/index.html" or die "failed to update index.html";