Beispiel #1
0
// DeleteRevision implements a method of kcd.Deleter.
func (db *DB) DeleteRevision(_ context.Context, revision, corpus string) error {
	rev := kcd.Revision{Revision: revision, Corpus: corpus}
	if err := rev.IsValid(); err != nil {
		return err
	}

	found := false
	for i := len(db.Rev) - 1; i >= 0; i-- {
		if revisionsEqual(db.Rev[i], rev) {
			found = true
			db.Rev = append(db.Rev[:i], db.Rev[i+1:]...)
		}
	}
	if found {
		return nil
	}
	return os.ErrNotExist
}