join = async (log) => {
    if (!log) {
      throw new Error('Log instance not defined')
    }
    if (!isLog(log)) {
      throw new Error('Given argument is not an instance of Log')
    }
    await oplogStore.storage.merge(log.storage)
    const heads = await log.heads()
    for (const entry of heads) {
      await joinEntry(entry)
    }
  }
Join two logs.

Joins another log into this one.

@param {module:Log~Log} log Log to join with this Log

@example

await log1.join(log2)

@memberof module:Log~Log
@instance