Hi,
I'm trying to get git to allow me very manual merges due the way my code is (long story, it is explained here). I almost got it the way I wanted, just something missing in a specific situation. Shouldn't be too hard:
I've got the custom driver to use WinMerge with something likec:/wm/winmerge.exe $1 $2 $3
(into c:/wm/wmrg.sh), git config merge.mnl.driver = "c:/wm/wmrg.sh %B %A %A"
and the echo *.xml merge=mnl > $GIT_DIR/info/attirbutes
.
Now when I git merge dev
, it opens WinMerge an let me do the work - brilliant. It just didnt work in the following situation:
Having my two branches (master and dev) committed with some changes waiting in dev to be merged into production.
- Go back to
master
- Rename some files unrelated to the changes (lets say, some readme.txt to manual.txt) in
dev
and commit it - Go to
dev
and merge these changes frommaster
[ the new driver kicks in and asks you if should it pass those configs to the other files indev
. You quit WinMerge without saving thus not migrating the info. After you finish looking the XML's the txt aren't filtered and get renamed in dev ] - now back to the
master
, mergedev
Here I'd expect the driver to kick in again and behave the same about the XML's. For some reason though, when you try to git merge dev
it decides to Auto-Merge it all!
Is there any sort of 'per branch' configuration getting me here? maybe after git realizes I did not do any changes after a last merge it can just overwrite files in certain direction.. or even, the sort of merge used is based in some 'newer older' rule which find the situation as 'trivial' and decides which file should be kept regardless it's contents...
please advise..
thanks