If we assume that branch ids never wrap around, we can make it much simpler:
* Just delete the Branch database record in simple cases (when there is other Launchpad object attached to the branch).
* Clean up filesystem data that is not associated to any branch in the database.
* When the Branch is associated to other Launchpad objects, "merge" it in the way we can currently merge Persons. See https://blueprints.launchpad.net/launchpad-bazaar/+spec/branch-merge for rationale.
I do not have strong opinions on the process surrounding branch deletion. My gut feeling is that we should not overload last_modified_date as suggested by Tim, but instead of a dedicated timestamp, maybe date_pending_delete. But I will no push this point, as it is only a gut feeling.
I overdesigned it.
If we assume that branch ids never wrap around, we can make it much simpler:
* Just delete the Branch database record in simple cases (when there is other Launchpad object attached to the branch). /blueprints. launchpad. net/launchpad- bazaar/ +spec/branch- merge for rationale.
* Clean up filesystem data that is not associated to any branch in the database.
* When the Branch is associated to other Launchpad objects, "merge" it in the way we can currently merge Persons. See https:/
I do not have strong opinions on the process surrounding branch deletion. My gut feeling is that we should not overload last_modified_date as suggested by Tim, but instead of a dedicated timestamp, maybe date_pending_ delete. But I will no push this point, as it is only a gut feeling.