author | Jan Vrany <jan.vrany@labware.com> |
Wed, 08 Mar 2023 16:40:41 +0000 | |
branch | jv |
changeset 19643 | b3148ab32c03 |
parent 13597 | 42278dc77ab3 |
permissions | -rw-r--r-- |
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 |