#!/usr/bin/env bash

file=$1
# Should only be run on clean_files.txt
if [ "$file" != "clean_files.txt" ]; then
	echo "Please run this script on clean_files.txt only!"
	exit 1
fi

function compare_lines() {
	prev=""
	while read -r line; do
		# Skip unimportant lines
		[[ $line =~ "#" ]] && continue
		[[ $line == "" ]] && continue
		# Actual check
		if [[ $prev > $line ]]; then
			echo "$line should be before $prev"
			exit 1
		fi
		prev=$line
	done <<< "$1"
}

# We compare using the legacy way
shopt -s compat31

# Test root files
compare_lines "$(grep -v "/" "$file")"

# Test root directory
compare_lines "$(grep "/$" "$file")"

# Test non root directories
compare_lines "$(grep "/." "$file")"

shopt -u compat31
# Yay, all good!
exit 0
