xref: /aosp_15_r20/development/tools/mergetool/split3.awk (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker#!/usr/bin/awk -f
2*90c8c64dSAndroid Build Coastguard Worker
3*90c8c64dSAndroid Build Coastguard Worker# Supports only "simple" diff3 style conflicts. Criss-cross conflicts are not supported.
4*90c8c64dSAndroid Build Coastguard Worker
5*90c8c64dSAndroid Build Coastguard WorkerBEGIN {
6*90c8c64dSAndroid Build Coastguard Worker  if (TARGET !~ /^(LOCAL|BASE|REMOTE)$/) {
7*90c8c64dSAndroid Build Coastguard Worker    print "Usage: ./split3.awk <file_with_diff3_conflict_markers -v TARGET={LOCAL,BASE,REMOTE}"
8*90c8c64dSAndroid Build Coastguard Worker    exit 1
9*90c8c64dSAndroid Build Coastguard Worker  }
10*90c8c64dSAndroid Build Coastguard Worker
11*90c8c64dSAndroid Build Coastguard Worker  PRINT = 1
12*90c8c64dSAndroid Build Coastguard Worker}
13*90c8c64dSAndroid Build Coastguard Worker
14*90c8c64dSAndroid Build Coastguard Worker/^<{7}( .+)?$/ {
15*90c8c64dSAndroid Build Coastguard Worker  PRINT = (TARGET == "LOCAL")
16*90c8c64dSAndroid Build Coastguard Worker  next
17*90c8c64dSAndroid Build Coastguard Worker}
18*90c8c64dSAndroid Build Coastguard Worker
19*90c8c64dSAndroid Build Coastguard Worker/^\|{7}( .+)?$/ {
20*90c8c64dSAndroid Build Coastguard Worker  PRINT = (TARGET == "BASE")
21*90c8c64dSAndroid Build Coastguard Worker  next
22*90c8c64dSAndroid Build Coastguard Worker}
23*90c8c64dSAndroid Build Coastguard Worker
24*90c8c64dSAndroid Build Coastguard Worker/^={7}( .+)?$/ {
25*90c8c64dSAndroid Build Coastguard Worker  PRINT = (TARGET == "REMOTE")
26*90c8c64dSAndroid Build Coastguard Worker  next
27*90c8c64dSAndroid Build Coastguard Worker}
28*90c8c64dSAndroid Build Coastguard Worker
29*90c8c64dSAndroid Build Coastguard Worker/^>{7}( .+)?$/ {
30*90c8c64dSAndroid Build Coastguard Worker  PRINT = 1
31*90c8c64dSAndroid Build Coastguard Worker  next
32*90c8c64dSAndroid Build Coastguard Worker}
33*90c8c64dSAndroid Build Coastguard Worker
34*90c8c64dSAndroid Build Coastguard WorkerPRINT { print }
35