.hgpostmerge.sh
author Jan Vrany <jan.vrany@labware.com>
Wed, 05 Oct 2022 11:57:26 +0100
branchjv
changeset 19637 28f5bfaa093d
parent 13597 42278dc77ab3
permissions -rw-r--r--
`NewSystemBrowser`: avoid updating package info when changed class is not selected This speeds up loading of packages when browser is open as it does not (needlessly) update package info which may involve scm round-trip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13597
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
#!/bin/bash
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
# 
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
# A simple script that has to be run after hg merge due to 
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
# missing renames in history
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
#
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
#
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
MY_BRANCH=$(hg branch)
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
BAD_FILES=$(ls Tools_[A-Z]*.st)
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
LAST_MERGE_REV=$(hg log -r "children(ancestor(default, $MY_BRANCH)) and merge() and branch($MY_BRANCH)" --template "{node|short}\n")
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
LAST_MERGED_REV=$(hg log -r $LAST_MERGE_REV --template "{parents}" | cut -d ' ' -f 2 | cut -d ':' -f 2)
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
echo "Last merge with default was $LAST_MERGE_REV"
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
echo "Last merged default     was $LAST_MERGED_REV:"
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
hg log -r $LAST_MERGED_REV
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
for bad_file in $BAD_FILES; do
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	good_file=$(echo $bad_file | sed -e 's/_/__/g')
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	echo "Fixing $bad_file -> $good_file"
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	default_last_change_rev=$(hg log -b default $bad_file -l 1 --template "{node|short}\n")
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
	if [ "$default_last_change_rev" != "$LAST_MERGED_REV" ]; then
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
		echo " Changed since last merge (latest is $default_last_change_rev)"
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
		cp $good_file $good_file.orig
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
		cp $good_file $good_file.local
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
		hg cat -r "$default_last_change_rev" "$bad_file" > "$good_file.other"
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
		hg cat -r "$LAST_MERGED_REV" "$bad_file" > "$good_file.base"
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
		hg resolve --unmark "$good_file"
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	fi
42278dc77ab3 Added .hgpostmerge.sh script to do a correct merge...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
done