You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
620 B
25 lines
620 B
#!/bin/sh
|
|
|
|
function diff_no_links() {
|
|
local FIND="/usr/bin/find"
|
|
local SED="/bin/sed"
|
|
local CAT="/bin/cat"
|
|
local TR="/usr/bin/tr"
|
|
local SORT="/usr/bin/sort"
|
|
|
|
local SRC=$1
|
|
local DST=$2
|
|
|
|
local SRC_SYMS="${FIND} \"${SRC}\" -type l -exec basename {} \;"
|
|
local DST_SYMS="${FIND} \"${DST}\" -type l -exec basename {} \;"
|
|
local ALL_SYMS="${CAT} <(${SRC_SYMS}) <($DST_SYMS) | ${SORT} -u"
|
|
|
|
local EXCLUDES="${ALL_SYMS} | ${SED} 's/^/ -x /' | ${TR} -d '\n'"
|
|
|
|
diff -Naur `eval ${EXCLUDES}` "${SRC}" "${DST}"
|
|
return $?
|
|
}
|
|
|
|
test "X$(basename -- "$0")" = "Xdiff_no_links" && diff_no_links "$@"
|
|
|
|
# vim: set ft=sh ts=4 sw=4:
|