func newRevision(lg *zap.Logger, clock clockwork.Clock, retention int64, rg RevGetter, c Compactable) *Revision {
	rc := &Revision{
		lg:        lg,
		clock:     clock,
		retention: retention,
		rg:        rg,
		c:         c,
	}
	rc.ctx, rc.cancel = context.WithCancel(context.Background())
	return rc
}
func newRevision(lg *zap.Logger, clock clockwork.Clock, retention int64, rg RevGetter, c Compactable) *Revision {
	rc := &Revision{
		lg:        lg,
		clock:     clock,
		retention: retention,
		rg:        rg,
		c:         c,
	}
	rc.ctx, rc.cancel = context.WithCancel(context.Background())
	return rc
}
func newRevision ( lg * zap . Logger , clock clockwork . Clock , retention int64 , rg RevGetter , c Compactable ) * Revision { rc := & Revision { lg : lg , clock : clock , retention : retention , rg : rg , c : c , } rc . ctx , rc . cancel = context . WithCancel ( context . Background ( ) ) return rc }
// newRevision creates a new instance of Revisonal compactor that purges
// the log older than retention revisions from the current revision.
newRevision creates a new instance of Revisonal compactor that purges the log older than retention revisions from the current revision .