Hi,

If you have some files in current directory that match $DIFF_EXCLUDES,
their extension aren't exclude

for example, you have :
./test.c
./test.c~
./package-123-1.cygport
./package-123-1/src/package-123/file1.c
./package-123-1/src/package-123/file1.c~
./package-123-1/src/package-123/file2.c
./package-123-1/src/package-123/file2.c~

$ cygport package-123-1.cygport diff
dosn't exclude file1.c~ / file2.c~ as expected

in pkg_pkg.cygpart / __pkg_diff()
...
for exclude in ${default_excludes}
do
  diff_excludes_x+=" -x ${exclude}";
done

case ${DIFF_EXCLUDES} in
  -x*)
  diff_excludes_x+=" ${DIFF_EXCLUDES}";
  ;;
  *)
  for exclude in ${DIFF_EXCLUDES}
  do
  diff_excludes_x+=" -x ${exclude}";
  done
  ;;
esac
...

${default_excludes} contents "*~" that matche the file ./test.c~ also
${default_excludes} is expended in " .... test.c~..."
the command line for "diff" will be :

diff -uprN ... -x test.c~
instead of
diff -uprN ... -x *~

A possible workaround : set -f / set +f like :

...
set -f
for exclude in ${default_excludes}
do
  diff_excludes_x+=" -x ${exclude}";
done

case ${DIFF_EXCLUDES} in
  -x*)
  diff_excludes_x+=" ${DIFF_EXCLUDES}";
  ;;
  *)
  for exclude in ${DIFF_EXCLUDES}
  do
  diff_excludes_x+=" -x ${exclude}";
  done
  ;;
esac
set +f
...

It is just a minor improvement to get smaller patch files (without
backup file like .c~)

Best Regards and many thanks for cygport

------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:

Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Cygwin-ports-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cygwin-ports-general

Reply via email to