(str string)
| 69 | } |
| 70 | |
| 71 | func parseLog(str string) ([]ChangeList, error) { |
| 72 | msgs := strings.Split(str, "ǁ") |
| 73 | cls := make([]ChangeList, 0, len(msgs)) |
| 74 | for _, s := range msgs { |
| 75 | if parts := strings.Split(s, "ǀ"); len(parts) == 4 { |
| 76 | cl := ChangeList{ |
| 77 | Author: strings.TrimSpace(parts[1]), |
| 78 | Subject: strings.TrimSpace(parts[2]), |
| 79 | Description: strings.TrimSpace(parts[3]), |
| 80 | } |
| 81 | if err := cl.SHA.Parse(parts[0]); err != nil { |
| 82 | return nil, err |
| 83 | } |
| 84 | cls = append(cls, cl) |
| 85 | } |
| 86 | } |
| 87 | return cls, nil |
| 88 | } |