summaryrefslogtreecommitdiff
path: root/dateibeziehungen.pas
diff options
context:
space:
mode:
Diffstat (limited to 'dateibeziehungen.pas')
-rw-r--r--dateibeziehungen.pas23
1 files changed, 19 insertions, 4 deletions
diff --git a/dateibeziehungen.pas b/dateibeziehungen.pas
index ece2e13..d3663e2 100644
--- a/dateibeziehungen.pas
+++ b/dateibeziehungen.pas
@@ -591,17 +591,32 @@ begin
);
if quellen[i].count + ziele[i].count > 0 then begin
// sha512summen erneuern
+
s:='sed "';
for j:=0 to quellen[i].count-1 do
s:=s+'/\s'+escapeStringToRegex(escape(quellen[i][j].name,'$','\'),rtShell,'"/')+'\$/d; ';
- for j:=0 to ziele[i].count-1 do
- s:=s+'/\s'+escapeStringToRegex(escape(ziele[i][j].name,'$','\'),rtShell,'"/')+'\$/d; ';
s:=s+'" -i "'+escape(_pruefSummenDatei,'"\','\')+'"';
- es.last.befehle.add(s);
+ es.last.befehle.insert(0,s); // _vorher_ Quellen entfernen ...
+
s:='sha512sum';
neuSums.clear;
for j:=0 to quellen[i].count-1 do
neuSums.add(quellen[i][j].name);
+ neuSums.sort;
+ neuSums.uniq('-');
+ for j:=0 to neuSums.count-1 do
+ s:=s+' "'+escape(neuSums[j],'"\','\')+'"';
+ s:=s+' >> "'+escape(_pruefSummenDatei,'"\','\')+'"';
+ es.last.befehle.insert(1,s); // ... und aktualisieren
+
+ s:='sed "';
+ for j:=0 to ziele[i].count-1 do
+ s:=s+'/\s'+escapeStringToRegex(escape(ziele[i][j].name,'$','\'),rtShell,'"/')+'\$/d; ';
+ s:=s+'" -i "'+escape(_pruefSummenDatei,'"\','\')+'"';
+ es.last.befehle.add(s); // _nachher_ Ziele entfernen ...
+
+ s:='sha512sum';
+ neuSums.clear;
for j:=0 to ziele[i].count-1 do
neuSums.add(ziele[i][j].name);
neuSums.sort;
@@ -609,7 +624,7 @@ begin
for j:=0 to neuSums.count-1 do
s:=s+' "'+escape(neuSums[j],'"\','\')+'"';
s:=s+' >> "'+escape(_pruefSummenDatei,'"\','\')+'"';
- es.last.befehle.add(s);
+ es.last.befehle.add(s); // ... und aktualisieren
end;
end;
neuSums.free;