File: diff3

package info (click to toggle)
aegis 4.24.3-3
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 34,056 kB
  • ctags: 12,500
  • sloc: cpp: 178,528; sh: 79,948; makefile: 34,813; yacc: 4,610; perl: 1,499; ansic: 492; awk: 325
file content (48 lines) | stat: -rw-r--r-- 1,730 bytes parent folder | download | duplicates (3)
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
/*
 *	aegis - project change supervisor
 *	This file is in the Public Domain, 1999 Peter Miller.
 *
 * The diff3(1) command is the oldest of the Unix file merge tools, and
 * the least capable.  You should use the RCS merge(1) in preference to
 * diff(3).
 */


/*
 * Compare three files using diff3.  Conflicts are marked in the
 * output.
 *
 * This command is used by aed(1) to produce a difference listing when a
 * file in the development directory is out of date compared to the
 * current version in the baseline.
 *
 * All of the command substitutions described in aesub(5) are available.
 * In addition, the following substitutions are also available:
 *
 * ${ORiginal}
 *	The absolute path name of a file containing the common ancestor
 *	version of ${MostRecent} and {$Input}.  Usually the version
 *	originally copied into the change.  Usually in a temporary file.
 * ${Most_Recent}
 *	The absolute path name of a file containing the most recent
 *	version.  Usually in the baseline.
 * ${Input}
 *	The absolute path name of the edited version of the file.
 *	Usually in the development directory.
 * ${Output}
 *	The absolute path name of the file in which to write the
 *	difference listing.  Usually in the development directory.
 *
 * An exit status of 0 means successful, even of the files differ (and
 * they usually do).  An exit status which is non-zero means something
 * is wrong.
 *
 * The diff3(1) man page documents the file order as "mine, older,
 * yours".  The diff3 -e option says to write output which can be used
 * as ed(1) input.
 */
merge_command =
	"(diff3 -e ${quote $i} ${quote $orig} ${quote $mr} | "
	"sed -e '/^w$$/d' -e '/^q$$/d'; echo '1,$$p' ) | "
	"ed - ${quote $i} > ${quote $out}"
	;