@classmethod
def log_dataset(cls, params, *, ignore_dirty: bool=False, also_print: bool=False, print_file=None):
    name = cls.__tablename__
    log.info('git describe %(git_describe)r clean: %(clean)r', params)
    log.debug('%s.title: %r', name, params['title'])
    log.info('%s.git_commit: %r', name, params['git_commit'])
    if ('version' in params):
        log.info('%s.version: %r', name, params['version'])
    log.debug('%s.exclude_raw: %r', name, params['exclude_raw'])
    if (also_print or (print_file is not None)):
        print('git describe {git_describe!r} clean: {clean!r}'.format_map(params), file=print_file)
        print(f"{name}.title: {params['title']!r}'", file=print_file)
        print(f"{name}.git_commit: {params['git_commit']!r}", file=print_file)
        if ('version' in params):
            print(f"{name}.version: {params['version']!r}", file=print_file)
        print(f"{name}.exclude_raw: {params['exclude_raw']!r}", file=print_file)
    if ((not params['clean']) and (not ignore_dirty)):
        warnings.warn(f'{name} not clean, pass ignore_dirty=True to disable')
@classmethod
def log_dataset(cls, params, *, ignore_dirty: bool=False, also_print: bool=False, print_file=None):
    name = cls.__tablename__
    log.info('git describe %(git_describe)r clean: %(clean)r', params)
    log.debug('%s.title: %r', name, params['title'])
    log.info('%s.git_commit: %r', name, params['git_commit'])
    if ('version' in params):
        log.info('%s.version: %r', name, params['version'])
    log.debug('%s.exclude_raw: %r', name, params['exclude_raw'])
    if (also_print or (print_file is not None)):
        print('git describe {git_describe!r} clean: {clean!r}'.format_map(params), file=print_file)
        print(f"{name}.title: {params['title']!r}'", file=print_file)
        print(f"{name}.git_commit: {params['git_commit']!r}", file=print_file)
        if ('version' in params):
            print(f"{name}.version: {params['version']!r}", file=print_file)
        print(f"{name}.exclude_raw: {params['exclude_raw']!r}", file=print_file)
    if ((not params['clean']) and (not ignore_dirty)):
        warnings.warn(f'{name} not clean, pass ignore_dirty=True to disable')