I'm not seeing the mechanism that prevents the os.walk from walking into the currently active slot directory where new symlinks are being made.  Please explain.

I'm also finding your selection of local var names to be opaque.  for example 'base' means the directory 'YYMMDD/date', a more self documenting var name would be 'date_branch_base'.  Think of some future programmer with half your skill and no context trying to understand what's going on.