<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter SYSTEM "../../dtd/dblite.dtd">
<chapter id="tmerge-intro">
	<title>Introduction</title>
	<simplesect>
		<para>
		</para>
	</simplesect>
	<!-- ================================================================= -->
	<!-- ======================== SECTION 1 ============================== -->
	<!-- ================================================================= -->
	<sect1 id="tmerge-intro-overview">
		<title>Overview</title>
		<para>
			TortoiseGitMerge is a free/open-source application. It lets you see
			differences in text files, merge those changes and even review and
			apply unified diff files, often called <firstterm>patches</firstterm>.
		</para>
		<para>
			While working on text files, e.g. source files in your favorite
			programming language, or HTML/XML files for your documentation or
			website, you will often have a situation where you need to compare
			different versions of those files. Sometimes you get a different
			version from someone else, sometimes you just want to see the changes
			you've made.
		</para>
		<para>
			If you're working with a version control system (e.g. Git)
			then you sometimes get <emphasis>conflicts</emphasis> when you
			update your working copy. This happens if someone else changed the
			same parts of the file you're currently working on as you did.
			Then you have to resolve those conflicts manually. This is where
			TortoiseGitMerge can help you.
		</para>
		<para>
			The following diagram shows you the relationships between the
			files involved in a conflict:
		</para>
		<figure id="tmerge-ch1-dia1">
			<title>File Conflict</title>
			<graphic fileref="images/mergeprinciple.png"/>
		</figure>
		<para>
			A conflict can also occur if you try to apply an outdated patch file.
			In such cases, without TortoiseGitMerge, you would either have to ask
			the person you got that patch file from for a current version or try
			to apply that patch file manually.
		</para>
		<para>
			But now with TortoiseGitMerge this isn't necessary anymore -
			at least not if you're working with a version control system like
			Git. TortoiseGitMerge parses the patch file for the
			revision/version the patch was created for and automatically tries
			to fetch that specific version from your source-control.
			Then it applies the patch and lets you review both your changes
			to the file, and theirs. Then you can decide which changes
			you want to keep.
		</para>
	</sect1>
	<!-- ================================================================= -->
	<!-- ======================== SECTION 2 ============================== -->
	<!-- ================================================================= -->
	<sect1 id="tmerge-intro-history">
		<title>TortoiseGitMerge's History</title>
		<para>
			TortoiseGitMerge is based on TortoiseMerge as TortoiseGit is based on TortoiseSVN. TortoiseSVN ships TortoiseMerge so we do with TortoiseGit (with a Git enhanced version).
		</para>
	</sect1>
</chapter>
