RemoveRef removes a reference by name.
(name plumbing.ReferenceName)
| 804 | |
| 805 | // RemoveRef removes a reference by name. |
| 806 | func (d *DotGit) RemoveRef(name plumbing.ReferenceName) error { |
| 807 | path := d.fs.Join(".", name.String()) |
| 808 | _, err := d.fs.Stat(path) |
| 809 | if err == nil { |
| 810 | err = d.fs.Remove(path) |
| 811 | // Drop down to remove it from the packed refs file, too. |
| 812 | } |
| 813 | |
| 814 | if err != nil && !os.IsNotExist(err) { |
| 815 | return err |
| 816 | } |
| 817 | |
| 818 | return d.rewritePackedRefsWithoutRef(name) |
| 819 | } |
| 820 | |
| 821 | func refsRecvFunc(refs *[]*plumbing.Reference, seen map[plumbing.ReferenceName]bool) refsRecv { |
| 822 | return func(r *plumbing.Reference) bool { |