File: vlmerge

package info (click to toggle)
libvcs-lite-perl 0.12-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 260 kB
  • sloc: perl: 988; makefile: 2
file content (43 lines) | stat: -rwxr-xr-x 668 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
#!/usr/bin/perl

use strict;
use warnings;

use VCS::Lite;
use Getopt::Long;

my $output;

GetOptions(
	'output=s' => \$output
	);

if (@ARGV != 3) {
	print <<END;

Usage:	$0 [--output outfile] original changed1 changed2

If --output is not specified, the results are put in place
of the original, and the original is renamed to *.orig

END
	exit;
}

my ($orig,$chg1,$chg2) = @ARGV;

my $el1 = VCS::Lite->new($orig);
my $el2 = VCS::Lite->new($chg1);
my $el3 = VCS::Lite->new($chg2);

my $el4 = $el1->merge($el2,$el3) or die "Merge failed";

if (!$output) {
	rename $orig, "$orig.orig";
	$output = $orig;
}

open MERGE,">$output";
print MERGE $el4->text;
close MERGE;