(typeNum plumbing.ObjectType, size int64)
| 177 | } |
| 178 | |
| 179 | func (e *Encoder) entryHead(typeNum plumbing.ObjectType, size int64) error { |
| 180 | t := int64(typeNum) |
| 181 | header := []byte{} |
| 182 | c := (t << firstLengthBits) | (size & maskFirstLength) |
| 183 | size >>= firstLengthBits |
| 184 | for { |
| 185 | if size == 0 { |
| 186 | break |
| 187 | } |
| 188 | header = append(header, byte(c|maskContinue)) |
| 189 | c = size & int64(maskLength) |
| 190 | size >>= lengthBits |
| 191 | } |
| 192 | |
| 193 | header = append(header, byte(c)) |
| 194 | _, err := e.w.Write(header) |
| 195 | |
| 196 | return err |
| 197 | } |
| 198 | |
| 199 | func (e *Encoder) footer() (plumbing.Hash, error) { |
| 200 | h := e.hasher.Sum() |
no test coverage detected