diff options
author | Norbert Preining <preining@logic.at> | 2010-09-29 01:17:04 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2010-09-29 01:17:04 +0000 |
commit | 8f19a89ac50a060c8f6bb928151f93d2d2238875 (patch) | |
tree | 67d43faeadba88733b43d957b6083b13712b6e5d | |
parent | 1e1ff4eeff11ac4910999a68b598b3f1409e7e79 (diff) |
make sure that when calling backup --clean --all also packages that
are not present anymore are pruned
git-svn-id: svn://tug.org/texlive/trunk@19943 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Master/texmf/scripts/texlive/tlmgr.pl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl index a32138dac7d..534cf38015d 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -1383,6 +1383,21 @@ sub action_backup { } } + # if we do --clean --all we also want to remove packages that + # are not present anymore in the tlpdb, so use the readdir mode + # to determine backups + if ($opts{"all"} && $clean_mode) { + # initialize the hash(packages) of hash(revisions) + my %backups = get_available_backups($opts{"backupdir"}); + init_local_db(1); + for my $p (sort keys %backups) { + clear_old_backups ($p, $opts{"backupdir"}, $opts{"clean"}, $opts{"dry-run"}); + } + return 1; + } + + # in case we are not cleaning or cleaning only specific packages + # use the one-by-one mode my @todo; if ($opts{"all"}) { @todo = $localtlpdb->list_packages; |