oh! hey! there are two implementations of the fileset diffing
and the one that I'm having trouble with isn't the one I changed, so I am at least temporarily off the hook 🙂
@bhagany are there really?
your tests seemed thorough to me at the time, maybe I have some blame on me as well 😉
yeah, here's the one I modified: https://github.com/boot-clj/boot/blob/master/boot/pod/src/boot/tmpdir.clj#L210
and here's the one I'm investigating: https://github.com/boot-clj/boot/blob/master/boot/pod/src/boot/filesystem.clj#L119
I don't think the second one needs to be modified in the same way, though. It only ever diffs on :time
, and my modifications were only needed for diffing on nested data
@richiardiandrea meant to ping you 🙂
right now, I think that sync-user-dirs!
is working fine, but I don't really understand why we need it where it is in the task chain
it results in a mismatch between the filesystem and the fileset during the post-wrap phase, if boot/mv
or (sift :move)
are used
and that probably isn't usually a problem, because people are generally using target
and the end of their task chain, but it does its thing before sync-user-dirs!
runs, and thus before the mismatch occurs
however, if you're doing something like serving files from the fileset, then files that you've moved will exist until sync-user-dirs!
runs, but then get moved back to their original positions afterward