view bin/index2 @ 365:3e62b13e1f48

Better test for rm aliasing Check for GNU rm availability and whether the rm (GNU or not) has -I parameter.
author Edho Arief <edho@myconan.net>
date Mon, 04 Jun 2012 15:41:48 +0700
parents 5bafb912837e
children
line wrap: on
line source

#!/bin/sh

# Index version 2! Much better than first one. Hopefully.

# Execute safely.
safe_path()
{
	__start=$(printf "%s" | cut -c 1)
	__path=
	case "${__start}" in
		.|/) __path="$*";;
		*) __path="./$*";;
	esac
	printf "%s" "${__path}"
}

get_basename() { basename "$(safe_path "$*")"; }
get_basename_pipe() { sed -e 's#.*/\([/]*\)$#\1#'; }

filename_hash()
{
	printf "%s" "$(get_basename "$*")" 
}
generate_table_of_files()
{
	filetable_generator "$@"
}
filetable_generator()
{
	# Uses perl for speed.
	perl -e 'use File::Find;
use Digest::SHA1 qw(sha1_hex);
use_warnings;
use_strict;
sub printer { printf("%s\n", sha1_hex($_)) if(-e && -f && !-l); } 
find(\&printer, @ARGV);' "$@"
}
_srcdir=.
generate_table_of_files "$@"