[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

cvswdiff



Hi translators,

the attached script might help to separate reformatting changes from
changes in wording. Basically, it's just a wrapper which calls CVS to
get the revisions and then passes the text to wdiff.

cvswdiff filename
        Outputs a wdiff between the most recent revision and the
        working copy.

cvswdiff 1.9 filename
        Outputs a wdiff between revision 1.9 and the working copy.

cvswdiff 1.9 1.12 filename
        Outputs a wdiff between the revisions 1.9 and 1.12.

Cheers,

  Richard

-- 
  __   _
  |_) /|  Richard Atterer     |  CS student at the Technische  |  GnuPG key:
  | \/¯|  http://atterer.net  |  Universität München, Germany  |  0x888354F7
  ¯ '` ¯
#! /bin/sh -e
# __   _
# |_) /|  Copyright (C) 2002 Richard Atterer
# | \/¯|  <richard@atterer.net> [RA]
# ¯ '` ¯
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2 or
# later. See the file COPYING for details.

cvs="cvs"

if test "$#" -eq 0; then
    echo "$0 [<revision> [<revision>]] <filename>"
    exit 1
fi

if test "$#" -gt 1; then
    rev1="$1"
    shift
fi
if test "$#" -gt 1; then
    rev2="$1"
    shift
fi
file="$1"
shift

if test "$rev1" = ""; then
    rev1=`$cvs log "$file" | sed -n '/^revision /{ s/^revision //; p; q; }'`
fi

if test "$rev2" = ""; then
    $cvs upd -p -r "$rev1" "$file" \
    | wdiff -t - "$file" \
    | egrep -n2 '\[-|\{\+|\+\}|-\]|\[(4m|24m|7ma|27m)'
else
    tmpfile=`mktemp`
    if "$tmpfile" = ""; then exit 1; fi
    $cvs upd -p -r "$rev1" "$file" >"$tmpfile"
    $cvs upd -p -r "$rev2" "$file" \
    | wdiff -t "$tmpfile" - \
    | egrep -n2 '\[-|\{\+|\+\}|-\]|\[(4m|24m|7ma|27m)'
    rm -f "$tmpfile"
fi

Attachment: pgpkOKcJmLFwo.pgp
Description: PGP signature


Reply to: