code: func linesInTree(db *gitobj.ObjectDatabase, t *gitobj.Tree) ([]*Line, string, error) {
  	var at int = -1
  	for i, e := range t.Entries {
  		if e.Name == ".gitattributes" {
  			at = i
  			break
  		}
  	}
  
  	if at < 0 {
  		return nil, "", nil
  	}
  
  	blob, err := db.Blob(t.Entries[at].Oid)
  	if err != nil {
  		return nil, "", err
  	}
  	defer blob.Close()
  
  	return ParseLines(blob.Contents)
  }
docs: // linesInTree parses a given tree's .gitattributes and returns a slice of lines
  // in that .gitattributes, or an error. If no .gitattributes blob was found,
  // return nil.