Efficiently finding transfers that need to be done to get two repos back in sync seems like an interesting problem.