code: def update_environment(self, **kwargs):
          
          old_env = {}
          for key, value in kwargs.items():
              # set value if it is None
              if value is not None:
                  old_env[key] = self._environment.get(key)
                  self._environment[key] = value
              # remove key from environment if its value is None
              elif key in self._environment:
                  old_env[key] = self._environment[key]
                  del self._environment[key]
          return old_env
docs: Set environment variables for future git invocations. Return all changed
          values in a format that can be passed back into this function to revert
          the changes:
  
          ``Examples``::
  
              old_env = self.update_environment(PWD='/tmp')
              self.update_environment(**old_env)
  
          :param kwargs: environment variables to use for git processes
          :return: dict that maps environment variables to their old values