Details
- 
    Type:
Bug
 - 
    Status: Done/Fixed
 - 
    Priority:
Trivial
 - 
    Resolution: Fixed/Completed
 - 
    Affects Version/s: 3.4.7
 - 
    Fix Version/s: 4.1.0
 - 
    Component/s: Core CiviCRM
 - 
    Labels:None
 
Description
I have seen varying results when merging two records that have different statuses in the same group. For example, one contact has "Pending" status in the Group "Foo", and a second contact has "Added (by Email)" status in the Group "Foo". When merging these two contacts (and keeping the Groups field checked when doing the merge), I would expect the resulting contact to keep the "Added" status. But that's not the case – sometimes, the resulting record has the Pending status. This means that someone who tries 4 times to join a group and finally succeeds will end up being removed from the group when merges are done. I can't think of a use case where you would want a merged contact to lose Added status and get Pending.
Suggestion: Merging group statuses should use a hierarchy, so the highest status always wins., such as Not In < Pending < Added (by Email) < Added (by Admin), or something along those lines.