def __init__(self, db_project, vcs_project, now, obsolete_vcs_entities=None, obsolete_vcs_resources=None):
        self.db_project = db_project
        self.vcs_project = vcs_project
        self.now = now

        # Store locales and resources for FK relationships.
        self.locales = {l.code: l for l in Locale.objects.all()}
        self.resources = {r.path: r for r in self.db_project.resources.all()}

        self.executed = False
        self.changes = {
            'update_vcs': [],
            'obsolete_vcs_entities': obsolete_vcs_entities or [],
            'obsolete_vcs_resources': obsolete_vcs_resources or [],
            'update_db': [],
            'obsolete_db': [],
            'create_db': []
        }

        self.entities_to_update = []
        self.translations_to_update = []
        self.translations_to_create = []
        self.commit_authors_per_locale = defaultdict(list)
        self.locales_to_commit = set()
:param now:
dataset/ETHPy150Open mozilla/pontoon/pontoon/sync/changeset.py/ChangeSet.__init__