You are changing the behavior here in such a way that we would have to check all existing tests to ensure that they are not depending upon full file copy - since you require that ignore_list be provided (and be an empty array) to end up back at the old behavior.  I would prefer to have ignore_list be opt-in instead of opt-out.