GitLab Migration - Better handle missing users
Problem to Solve
When a user from the source instance doesn't exist in the destination instance, the import process uses the importing user as author/assignee on objects such as issues, epics, MRs, comments, etc. This often happens when a user leaves the company/organization and their username is no longer available on the new instance.
This replacement with the importer user means that it is harder for users to look for issues created by someone, or to easily see who commented. The migrated project does not contain the same information as before migration, which is not desirable.
However, when a GitLab user leaves an organization, their GitLab profile is deactivated. This means that, while they are no longer an active user, the information about their historical contributions is preserved, which is the desired outcome.
Proposed Solution
To provide an experience similar to deactivating a user when a group/project is migrated, we should create an inactive (blocked) user "on the fly" during the migration whenever we come across a user that doesn't exist in the destination instance.
The desired outcome is that this inactive user is now associated with all the objects in all the places where previously we used to substitute the importer user.
This inactive user should not be able to reactivate their account or take over their login by resetting the password, for example.
Docs
Following documentation should be updated with the fields added in this issue:
-
📖 User docs: https://docs.gitlab.com/ee/user/group/import/ -
📖 Dev docs: https://docs.gitlab.com/ee/development/bulk_import.html
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.