12module cli34import os56pub fn needs_migration(argv []string) bool {7 if argv.len < 2 || argv[1] in ['migrate', 'man', 'help', '--help', '-h', '--version', '-v',8 'remote', 'update'] {9 return false10 }11 return inside_koh2_repo(os.getwd())12}13141516fn inside_koh2_repo(start string) bool {17 mut dir := os.real_path(start)18 for {19 path := os.join_path(dir, '.koh')20 if os.is_dir(path) {21 return true22 }23 if os.is_file(path) {24 return false25 }26 parent := os.dir(dir)27 if parent == dir || parent == '' {28 return false29 }30 dir = parent31 }32 return false33}