It seems like patchSets are not inherently tied to changes, that the tying is simply something that gerrit tracks, an abstract idea. It would be nice to be able to treat the tying of a patchSet to a specific change in a more flexible matter. It would be nice to A) merge a patchSet from one change into another change and B) be able to split a patchSet out of a change into a seperate change.
To illustrate, I will start with suggested feature A. Sometimes I make the mistake of uploading a new change when I mean to upload a latter patchSet to an already existing change. So, I have ChangeId aaaa with patchSet 1 & 2. I want to upload patchSet 3 to aaaa, but forget to add the original ChangeId or simply get it wrong. So instead of having patchSet 3, I get patchSet 1 for ChangeId bbbb. The result is that I need
to manually amend the change and resubmit it properly to ChangeId aaaa, and abandon ChangeId bbbb. Why not make it possible within gerrit to merge ChangeId bbbb to the tail of ChangeId aaaa effectively accomplishing the resubmit and without keeping around the awkward abandonned ChangeId bbbb? With appropriate history comments, this seems like a better way to track this initial mistake and the subsequent fix.
Naturally, if we allow for merging changes, we will no doubt also be providing opportunities for people to mistakingly merge changes. This begs for a way to deal with this; I suggest feature B. But, even without suggested feature A, I have already found myself making mistakes in gerrit that amount to having incorrectly done A manually, and thus still needing B as the solution. I have, incorrectly added a new Change to an old change as a new patchSet! So, for example, I had ChangeId cccc with patchSet 1 & 2 and I had a new change that I meant to submit as patchSet 1 as ChangeId dddd but I mistakenly added it as patchSet 3 to ChangeId cccc!!!
Another use case which would be greatly helped by allowing feature B, is to allow for abandoning the latest patchSet(s) in a change without having to re-upload an earlier version on top of them. This could be done by simply splitting out the last erroneous patchSets into a separate Change and then abandoning that Change. Again, with appropriate history comments, this seems like a better way to track this mistaken upload and to potentially revert the change to a state where the reviews of the previous patchSets are more readily used.
Since patchsets do not seem inherently tied to changes, why not acknowledge this directly in gerrit and make it possible to move patchSets between changes? While I am not sure if we should support more complex cases (removing patchSet 2 from a series of 3 patchSets?), simple split/merge options would go a long way to helping recover from certain push mistakes in gerrit.