From 6db1484a804878b6b0e96d1338f2cdeead001ba8 Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Thu, 15 May 2014 22:00:24 +0100 Subject: [PATCH] tools: update MapPatcher.jar, add mapclean helper MapPatcher.jar can now take a user-defined tile line when conflicted. Added a clean_map_git.sh file that will automatically clean maps without needing a prepare_map.bat call beforehand. Needs to be run in git bash, or have .sh associated with something that has git. Fixed line endings in install.txt to show up right in notepad. Signed-off-by: Mloc-Argent --- tools/mapmerge/MapPatcher.jar | Bin 10673 -> 10738 bytes tools/mapmerge/clean_map_git.sh | 9 +++++++++ tools/mapmerge/install.txt | 34 ++++++++++++++++---------------- 3 files changed, 26 insertions(+), 17 deletions(-) create mode 100644 tools/mapmerge/clean_map_git.sh diff --git a/tools/mapmerge/MapPatcher.jar b/tools/mapmerge/MapPatcher.jar index a8bc3560b4436b033d72da4248847b5c056bafcf..cb0a4f443380924b8a646b2bade7537ae6d7d7de 100644 GIT binary patch delta 4322 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 D8JI<+ diff --git a/tools/mapmerge/clean_map_git.sh b/tools/mapmerge/clean_map_git.sh new file mode 100644 index 0000000000..6ff986e0ba --- /dev/null +++ b/tools/mapmerge/clean_map_git.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +MAPFILE='tgstation.2.1.3.dmm' + +git show HEAD:_maps/map_files/$MAPFILE > tmp.dmm +java -jar MapPatcher.jar -clean tmp.dmm '../../_maps/map_files/'$MAPFILE '../../_maps/map_files/'$MAPFILE +dos2unix -U '../../_maps/map_files/'$MAPFILE +rm tmp.dmm + diff --git a/tools/mapmerge/install.txt b/tools/mapmerge/install.txt index 6319d31c4d..f9cbc4a022 100644 --- a/tools/mapmerge/install.txt +++ b/tools/mapmerge/install.txt @@ -1,17 +1,17 @@ -1. Install java(http://www.java.com/en/download/index.jsp) -2. Make sure java is in your PATH. To test this, open git bash, and type "java". If it says unknown command, you need to add JAVA/bin to your PATH variable. - -Committing -1. Before starting to edit the map, double-click "prepare_map.bat" in the tools/mapmerge/ directory. -2. After finishing your edit, and before your commit, double-click "clean_map.bat" in the tools/mapmerge/ directory. - -This will make sure in the new version of your map, no paths are needlessly changed, thus instead of 8000 lines changed you'll get 50 lines changed. This not only reduces size of your commit, it also makes it possible to get an overview of your map changes on the "files changed" page in your pull request. - -Merging -The easiest way to do merging is to install the merge driver. For this, open -tg-station/.git/config in a text editor, and paste the following lines to the end of it: - -[merge "merge-dmm"] - name = mapmerge driver - driver = ./tools/mapmerge/mapmerge.sh %O %A %B - -After this, merging maps should happen automagically unless there are conflicts(a tile that both you and someone else changed). If there are conflicts, you will unfortunately still be stuck with opening both versions in a map editor, and manually resolving the issues. +1. Install java(http://www.java.com/en/download/index.jsp) +2. Make sure java is in your PATH. To test this, open git bash, and type "java". If it says unknown command, you need to add JAVA/bin to your PATH variable (A guide for this can be found at https://www.java.com/en/download/help/path.xml ). + +Committing +1. Before starting to edit the map, double-click "prepare_map.bat" in the tools/mapmerge/ directory. +2. After finishing your edit, and before your commit, double-click "clean_map.bat" in the tools/mapmerge/ directory. + +This will make sure in the new version of your map, no paths are needlessly changed, thus instead of 8000 lines changed you'll get 50 lines changed. This not only reduces size of your commit, it also makes it possible to get an overview of your map changes on the "files changed" page in your pull request. + +Merging +The easiest way to do merging is to install the merge driver. For this, open `Baystation12/.git/config` in a text editor, and paste the following lines to the end of it: + +[merge "merge-dmm"] + name = mapmerge driver + driver = ./tools/mapmerge/mapmerge.sh %O %A %B + +After this, merging maps should happen automagically unless there are conflicts(a tile that both you and someone else changed). If there are conflicts, you will unfortunately still be stuck with opening both versions in a map editor, and manually resolving the issues.