diff options
Diffstat (limited to 'dateibeziehungen.pas')
-rw-r--r-- | dateibeziehungen.pas | 23 |
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; |