view admin/diff-tar-files @ 92194:08b13631ff73

* diff-mode.el (diff-file-junk-re): New const. (diff-beginning-of-file-and-junk): Use it. (diff-file-kill): Make sure we were really inside a file diff. * diff-mode.el: Make it more robust in the presence of empty context lines in unified hunks. (diff-valid-unified-empty-line): New var. (diff-unified->context, diff-sanity-check-hunk): Obey it. (diff-end-of-hunk): Obey it. New arg `donttrustheader'. (diff-fixup-modifs, diff-post-command-hook): Use this new arg. (diff-hunk-header-re-unified): New const. (diff-font-lock-keywords, diff-hunk-header-re, diff-split-hunk) (diff-fixup-modifs, diff-unified->context, diff-next-complex-hunk) (diff-sanity-check-hunk): Use it. * diff-mode.el (diff-beginning-of-file-and-junk): If we're on the Index: line, don't search backward for the previous one.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 25 Feb 2008 03:54:54 +0000
parents cde444d03b82
children 606f2d163a64 e6db9ee945b8
line wrap: on
line source

#! /bin/sh

# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
#   Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# GNU Emacs is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Emacs; see the file COPYING.  If not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.

if [ $# != 2 ]; then
    cat <<EOF
Usage: $0 OLD-TAR NEW-TAR

Print a diff of the files in OLD-TAR and NEW-TAR.  Used for checking
the contents of Emacs tar files.
EOF
    exit 1;
fi

old_tar=$1
new_tar=$2

old_tmp=/tmp/old.$$
new_tmp=/tmp/new.$$
trap "rm -f $old_tmp $new_tmp; exit 1" 1 2 15

tar tzf $old_tar | sed -e 's,^[^/]*,,' | sort > $old_tmp
tar tzf $new_tar | sed -e 's,^[^/]*,,' | sort > $new_tmp
diff -u $old_tmp $new_tmp
rm -f $new_tmp $old_tmp


# arch-tag: ef2c96e2-ea67-4668-925c-d9a6f3d205cf