<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.splurt.space/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Map_Merger</id>
	<title>Map Merger - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.splurt.space/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Map_Merger"/>
	<link rel="alternate" type="text/html" href="https://wiki.splurt.space/mediawiki/index.php?title=Map_Merger&amp;action=history"/>
	<updated>2026-05-15T14:49:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://wiki.splurt.space/mediawiki/index.php?title=Map_Merger&amp;diff=21095&amp;oldid=prev</id>
		<title>Mosley: Text replacement - &quot;/tg/station&quot; to &quot;{{SplurtStation}}&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.splurt.space/mediawiki/index.php?title=Map_Merger&amp;diff=21095&amp;oldid=prev"/>
		<updated>2025-08-11T06:04:05Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;/tg/station&amp;quot; to &amp;quot;{{SplurtStation}}&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:04, 11 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: [[Guide to contributing to the game]] &amp;gt; [[Guide to mapping]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: [[Guide to contributing to the game]] &amp;gt; [[Guide to mapping]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/tg/station &lt;/del&gt;uses a tool called the &#039;&#039;&#039;Map Merger&#039;&#039;&#039; to make map changes easier for maintainers to review and less likely to conflict with map changes made by others.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{SplurtStation}} &lt;/ins&gt;uses a tool called the &#039;&#039;&#039;Map Merger&#039;&#039;&#039; to make map changes easier for maintainers to review and less likely to conflict with map changes made by others.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are a few ways of running the tool. If you have trouble or need help, ask in [[Community|#coderbus]]. You may find a visual guide [https://hackmd.io/@tgstation/SyVma0dS5#Git-Hooks here].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are a few ways of running the tool. If you have trouble or need help, ask in [[Community|#coderbus]]. You may find a visual guide [https://hackmd.io/@tgstation/SyVma0dS5#Git-Hooks here].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key splurt_wiki:diff:1.41:old-1527:rev-21095:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Mosley</name></author>
	</entry>
	<entry>
		<id>https://wiki.splurt.space/mediawiki/index.php?title=Map_Merger&amp;diff=1527&amp;oldid=prev</id>
		<title>imported&gt;San7890: Adds link to the Guide to Mapping for Git Hooks.</title>
		<link rel="alternate" type="text/html" href="https://wiki.splurt.space/mediawiki/index.php?title=Map_Merger&amp;diff=1527&amp;oldid=prev"/>
		<updated>2022-07-25T03:46:26Z</updated>

		<summary type="html">&lt;p&gt;Adds link to the Guide to Mapping for Git Hooks.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: [[Guide to contributing to the game]] &amp;gt; [[Guide to mapping]]&lt;br /&gt;
&lt;br /&gt;
/tg/station uses a tool called the &amp;#039;&amp;#039;&amp;#039;Map Merger&amp;#039;&amp;#039;&amp;#039; to make map changes easier for maintainers to review and less likely to conflict with map changes made by others.&lt;br /&gt;
&lt;br /&gt;
There are a few ways of running the tool. If you have trouble or need help, ask in [[Community|#coderbus]]. You may find a visual guide [https://hackmd.io/@tgstation/SyVma0dS5#Git-Hooks here].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Summary&amp;#039;&amp;#039;&amp;#039;: for best results, open the &amp;lt;code&amp;gt;tools/hooks/&amp;lt;/code&amp;gt; folder and double-click &amp;lt;code&amp;gt;Install.bat&amp;lt;/code&amp;gt; to install the hooks, which will handle things automatically.&lt;br /&gt;
&lt;br /&gt;
== TGM format conversion ==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;map merge&amp;quot; operation describes the process of converting a map file written by the DreamMaker map editor to:&lt;br /&gt;
# Use a format more amenable to Git&amp;#039;s conflict resolution, called &amp;quot;TGM&amp;quot; and originally developed by Remie. The TGM map format is like the standard Dream Maker map format, but arranged differently, meaning Dream Maker is able to open TGM maps.&lt;br /&gt;
# Keep the size of the difference between the old version and the new version of the map as small as possible.&lt;br /&gt;
This is accomplished by referencing the changed version of the map against the old version stored in the Git history.&lt;br /&gt;
&lt;br /&gt;
=== Use as a Git hook (recommended) ===&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Install the hook&amp;#039;&amp;#039;&amp;#039;: Open the &amp;lt;code&amp;gt;tools/hooks/&amp;lt;/code&amp;gt; folder and double-click &amp;lt;code&amp;gt;Install.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Linux users: run &amp;lt;code&amp;gt;tools/hooks/install.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once complete, the map merger will run &amp;#039;&amp;#039;&amp;#039;automatically&amp;#039;&amp;#039;&amp;#039; every time you commit in Git. The console log can be reviewed if there are any errors.&lt;br /&gt;
&lt;br /&gt;
=== Or: Run manually before committing ===&lt;br /&gt;
&lt;br /&gt;
You can also manually run a .bat file just before each time you commit:&lt;br /&gt;
&lt;br /&gt;
# Ensure you have saved all your changes&lt;br /&gt;
# Open the &amp;lt;code&amp;gt;tools/mapmerge2/&amp;lt;/code&amp;gt; folder and double-click &amp;lt;code&amp;gt;Run Before Committing.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit&lt;br /&gt;
&lt;br /&gt;
=== If you forgot to map merge ===&lt;br /&gt;
&lt;br /&gt;
For first-time contributors who committed map edits without map merging, a script is available to automatically commit a fix to your PR branch:&lt;br /&gt;
&lt;br /&gt;
# Ensure you have no unsaved changes&lt;br /&gt;
# Open the &amp;lt;code&amp;gt;tools/mapmerge2/&amp;lt;/code&amp;gt; folder and double-click &amp;lt;code&amp;gt;I Forgot To Map Merge.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
# Push your branch&lt;br /&gt;
&lt;br /&gt;
== Automatic conflict resolver ==&lt;br /&gt;
&lt;br /&gt;
We also have a rudimentary conflict resolver to cover some cases that the TGM conversion couldn&amp;#039;t prevent.&lt;br /&gt;
&lt;br /&gt;
When run, the console output will indicate whether further manual action is needed, including conflicting coordinates.&lt;br /&gt;
&lt;br /&gt;
=== Use as a Git hook ===&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Install the hook&amp;#039;&amp;#039;&amp;#039;: Open the &amp;lt;code&amp;gt;tools/hooks/&amp;lt;/code&amp;gt; folder and double-click &amp;lt;code&amp;gt;Install.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Linux users: run &amp;lt;code&amp;gt;tools/hooks/install.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once complete, the conflict resolver will run &amp;#039;&amp;#039;&amp;#039;automatically&amp;#039;&amp;#039;&amp;#039; every time you merge in Git.&lt;br /&gt;
&lt;br /&gt;
=== Or: Resolve conflicts on an in-progress merge ===&lt;br /&gt;
&lt;br /&gt;
If you are using a Git GUI which does not run the hook on merge, you can also run the conflict resolver on an in-progress merge by request:&lt;br /&gt;
# Open the &amp;lt;code&amp;gt;tools/mapmerge2/&amp;lt;/code&amp;gt; folder and double-click &amp;lt;code&amp;gt;Resolve Map Conflicts.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Linux users: run &amp;lt;code&amp;gt;tools/hooks/dmm.merge --posthoc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that to use this, you must merge your updated local master branch into the branch with conflicts so that your Git GUI reports a conflict on the map file.&lt;br /&gt;
== Implementation details ==&lt;br /&gt;
&lt;br /&gt;
Information on the tool&amp;#039;s implementation is stored with [https://github.com/tgstation/tgstation/blob/master/tools/mapmerge2/ the code].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Contribution guides}}&lt;/div&gt;</summary>
		<author><name>imported&gt;San7890</name></author>
	</entry>
</feed>