many recompute improvements
I've lost track of them all, but it includes: * Using the same key backend as was used in the original computation. * Fixing bug that prevented updating the source file key in the compute state * Handling --reproducible and --unreproducible. * recompute --original of a file using VURL, when the result is different, but the key remains the same, makes the object file be updated with the new content * Detecting some other ways the program behavior can change, just for completeness. * Also adds --backend to addcomputed.
This commit is contained in:
parent
1704b5e327
commit
e6ae5e8d56
6 changed files with 127 additions and 54 deletions
|
@ -399,8 +399,8 @@ runComputeProgram (ComputeProgram program) state (ImmutableState immutablestate)
|
|||
liftIO $ hPutStrLn (stdinHandle p) $
|
||||
maybe "" fromOsPath mp'
|
||||
liftIO $ hFlush (stdinHandle p)
|
||||
return $ if knowninput
|
||||
then state'
|
||||
return $ if immutablestate
|
||||
then state
|
||||
else state'
|
||||
{ computeInputs =
|
||||
M.insert f' k
|
||||
|
@ -411,8 +411,8 @@ runComputeProgram (ComputeProgram program) state (ImmutableState immutablestate)
|
|||
checksafefile tmpdir subdir f' "output"
|
||||
let knownoutput = M.member f' (computeOutputs state')
|
||||
checkimmutable knownoutput "outputting" f' $
|
||||
return $ if knownoutput
|
||||
then state'
|
||||
return $ if immutablestate
|
||||
then state
|
||||
else state'
|
||||
{ computeOutputs =
|
||||
M.insert f' Nothing
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue