code: func (a *Attribute) Install(opt *FilterOptions) error {
  	for k, v := range a.Properties {
  		var upgradeables []string
  		if a.Upgradeables != nil {
  			// use pre-normalised key since caller will have set up the same
  			upgradeables = a.Upgradeables[k]
  		}
  		key := a.normalizeKey(k)
  		if err := a.set(opt.GitConfig, key, v, upgradeables, opt); err != nil {
  			return err
  		}
  	}
  
  	return nil
  }
docs: // Install instructs Git to set all keys and values relative to the root
  // location of this Attribute. For any particular key/value pair, if a matching
  // key is already set, it will be overridden if it is either a) empty, or b) the
  // `force` argument is passed as true. If an attribute is already set to a
  // different value than what is given, and force is false, an error will be
  // returned immediately, and the rest of the attributes will not be set.