Persistent Cart - Overriding current cart
I ran into the problem where if a user has an empty cart and is shopping while not logged in: once logging in, his current cart is overwritten with the empty cart.
I don't believe this is the intended behavior and I also don't necessarily agree that retrieving an old persistent cart should always merge with a non-empty current cart.
I modified a few files to address this issue and have attached a diff. I'm not entirely sure that the Cart.merge_carts() needed me to add a self.save() but I did anyways and it is in the patch.