File: prcspatch2

package info (click to toggle)
prcs 1.3.3-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 4,128 kB
  • ctags: 3,354
  • sloc: cpp: 17,486; ansic: 8,132; sh: 4,710; perl: 2,729; lisp: 1,816; tcl: 1,142; lex: 354; makefile: 225; pascal: 85
file content (80 lines) | stat: -rwxr-xr-x 2,671 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/sh
#
# Part of the prcsutils package
# Copyright (C) 2001  Hugo Cornelis <hugo@bbf.uia.ac.be>
#
# This program 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 2
# of the License, or (at your option) any later version.
#
# This program 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 prcs, The Project Revision Control System available at 
# http://www.xcf.berkeley.edu ; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Project: prcs $
# $ProjectHeader: prcs 1.3.3-relase.1 Sun, 09 May 2004 18:34:01 -0700 jmacd $
# $Id: prcspatch2 1.1 Fri, 03 May 2002 09:09:57 -0700 jmacd $
#
# prcspatch2 : create a patch file for project given on command line and
#		two revisions given on command line.
#		patch file contains differences between given revisions
#		and is named after project and the two revisions.
#
#		log message can be given after '-m' option which must 
#		be the first option on the command line.
#		if no '-m', log message is Version-Log from second version
#		The log message is present in the header of the patch file.
#

# get log message

if [ x"$1" = x-m ]; then

    log_message="$2" && shift && shift

    log=1

else

    log=0

fi

#projects=`ls 2>/dev/null -l *.prj | wc -l`

# check command line (

[ x"$3" = x ] && echo 1>&2 "Usage : $0 <project> <version1> <version2>" && echo 1>&2 "Create a unified patchfile between different version of the same project" && echo 1>&2 "patchfile will have name according to project and versions" && echo 1>&2 "-m allows to give a message log (which defaults to contents of " && echo 1>&2 "	Version-Log entry of <version2>)" && exit 1

# get project and versions

project=$1
version1=$2
version2=$3

# construct an appropriate name for the patch file

patchfile=$project-$version1-$project-$version2.patch

# check log message

if [ $log = 0 ]; then

    log_message=`prcs info -l -r $version2 $project`
fi

# generate patch file

echo >$patchfile "$log_message"

# I'm not sure anymore why, but the --exclude-project-file did not work 
# to generate correct patchfiles

prcs >>$patchfile 2>&1 diff -N -r $version1 -r $version2 -N $project `prcs execute -r $version1 --not :project-file $project` `prcs execute -r $version2 --not :project-file $project` -- --unified