Debian uses the dpkg package system, which manages .deb packages. But since this is a pretty basic tool, this Linux distribution ships with several front-ends. Particularly, we’ll be using apt for our needs.

Supported versions: We currently support Debian 6, Debian 8 and Ubuntu 14.04. However, the Debian 6 repository is compatible with Debian 7 and Ubuntu 12.04 as well.

Warning! (2016-02-08) We’ve updated our bundled Mono version, starting with semanticmerge 1.0.81.0. Our packages will now require Mono 4.3 as a dependency, which might cause conflicts during package upgrade. To upgrade your Plastic SCM Linux installation, check the following guide:
http://blog.plasticscm.com/2016/02/mono-4-upgrade.html.

Adding the repository

To make Debian recognize our repository, we have to edit the sources file for apt, which can be found under /etc/apt/sources.list.

Each line of this file contains a URL pointing to a particular repository, complemented with some metadata. You'll need to replace the string <dist_id> with the distribution you'd like to use (Debian_6.0, Debian_8.1 or Ubuntu_14.04)!

So, for our public repository, you just need to add the following lines with your favorite text editor (remember that you'll need administrator access since this is a system file):

# PlasticSCM infrastructure repository (needed to install mono)
deb https://www.plasticscm.com/plasticrepo/plasticscm-common/<dist_id>/ ./
 
# SemanticMerge repository
deb https://www.semanticmerge.com/semanticrepo/<dist_id>/ ./

The apt system verifies the repository integrity using the public key from the repository as well as the checksum of some index files.

That means that you’ll have to add our public key to apt.

First, you must download the key file:

wget https://www.plasticscm.com/plasticrepo/plasticscm-common/<dist_id>/Release.key -O - | apt-key add -
wget https://www.semanticmerge.com/semanticrepo/<dist_id>/Release.key -O - | apt-key add -

Since our server is using HTTPS to secure its communications, you'll need to install the necessary apt add-on.:

apt-get install apt-transport-https

After that, you have to reload the apt cache by executing the following command:

apt-get update

Installing SemanticMerge

At this point you are only one step away from having SemanticMerge installed on your system!

You just have to execute the following line:

# apt-get install semanticmerge

Once the process is complete, you’ll be able to use SemanticMerge with the default configuration options.

Happy merging!

First steps - Check the samples directory

We've included a directory with some Semantic cases.

Check the /opt/semanticmerge/samples directory to get familiar with the tool and its capabilities. Inside the subdirectories you will find several merge scenarios that you will be able to launch using the included .sh script.

Remember we have configured the scripts to use Kdiff3 to perform text based merge, so make sure you have it installed.

You can execute the following line on your terminal to run a merge case with a divergent move conflict:

$ /opt/semanticmerge/samples/Java/Socket_Deeper/samplesemanticmergetool.sh

For further understanding of how to use the SemanticMerge command line parameters, please review the contents of the sample script.

Now let's merge!

Fedora uses RPM packages, managed with the yum front-end. We’ll now show you how to add the repository and install our packages.

Supported versions: Our repositories currently support Fedora 17 and Fedora 20.

Warning! (2016-02-08) We’ve updated our bundled Mono version, starting with semanticmerge 1.0.81.0. Our packages will now require Mono 4.3 as a dependency, which might cause conflicts during package upgrade. To upgrade your Plastic SCM Linux installation, check the following guide:
http://blog.plasticscm.com/2016/02/mono-4-upgrade.html.

Adding the repository

The way of working with yum is placing a repository file on the /etc/yum.repos.d/ directory.

We have already prepared one for you to download, so only two commands are necessary. Remember to replace <dist_id> with the distribution you'd like to use: Fedora_17 or Fedora_20.

# PlasticSCM infrastructure repository (needed to install mono)
wget https://www.plasticscm.com/plasticrepo/plasticscm-common/<dist_id>/plasticscm-common.repo -O /etc/yum.repos.d/plasticscm-common.repo
 
# SemanticMerge repository
wget https://www.semanticmerge.com/semanticrepo/<dist_id>/semanticmerge.repo -O /etc/yum.repos.d/semanticmerge.repo

Once the file is in place, you can proceed to install our packages!

Installing SemanticMerge

You can perform the installation with a single command:

yum install semanticmerge

That's it! You are good to go!

First steps - Check the samples directory

We've included a directory with some Semantic cases.

Check the /opt/semanticmerge/samples directory to get familiar with the tool and its capabilities. Inside the subdirectories you will find several merge scenarios that you will be able to launch using the included .sh script.

Remember we have configured the scripts to use Kdiff3 to perform text based merge, so make sure you have it installed.

You can execute the following line on your terminal to run a merge case with a divergent move conflict:

$ /opt/semanticmerge/samples/Java/Socket_Deeper/samplesemanticmergetool.sh

For further understanding of how to use the SemanticMerge command line parameters, please review the contents of the sample script.

Now let's merge!

Red Hat Enterprise and Fedora have a very similar install procedure, since Fedora is the free version of RHEL (free, as in free beer).

Supported versions: Our repository currently supports RedHat Enterprise Linux 6.x and CentOS 6.x.

Warning! (2016-02-08) We’ve updated our bundled Mono version, starting with semanticmerge 1.0.81.0. Our packages will now require Mono 4.3 as a dependency, which might cause conflicts during package upgrade. To upgrade your Plastic SCM Linux installation, check the following guide:
http://blog.plasticscm.com/2016/02/mono-4-upgrade.html.

Adding the repository

You just need to download the .repo file:

# PlasticSCM infrastructure repository (needed to install mono)
wget https://www.plasticscm.com/plasticrepo/plasticscm-common/RHEL_6.3/plasticscm-common.repo -O /etc/yum.repos.d/plasticscm-common.repo
 
# SemanticMerge repository
wget https://www.semanticmerge.com/semanticrepo/RHEL_6.3/semanticmerge.repo -O /etc/yum.repos.d/semanticmerge.repo

Once the file is in place, you can proceed to install our packages!

Installing SemanticMerge

You can perform the installation with a single command:

yum install semanticmerge

Once this command is executed, SemanticMerge will be up and running for you to fiddle with!

First steps - Check the samples directory

We've included a directory with some Semantic cases.

Check the /opt/semanticmerge/samples directory to get familiar with the tool and its capabilities. Inside the subdirectories you will find several merge scenarios that you will be able to launch using the included .sh script.

Remember we have configured the scripts to use Kdiff3 to perform text based merge, so make sure you have it installed.

You can execute the following line on your terminal to run a merge case with a divergent move conflict:

$ /opt/semanticmerge/samples/Java/Socket_Deeper/samplesemanticmergetool.sh

For further understanding of how to use the SemanticMerge command line parameters, please review the contents of the sample script.

Now let's merge!

OpenSUSE uses the RPM package format, too. In this case, we will use the zypper front-end, which works similarly to yum, except for repository management.

Supported versions: We have repositories prepared for OpenSUSE 12.2 and OpenSUSE 12.3. In the examples we’ll use the latter one, but feel free to change the version number if needed!.

Warning! (2016-02-08) We’ve updated our bundled Mono version, starting with semanticmerge 1.0.81.0. Our packages will now require Mono 4.3 as a dependency, which might cause conflicts during package upgrade. To upgrade your Plastic SCM Linux installation, check the following guide:
http://blog.plasticscm.com/2016/02/mono-4-upgrade.html.

Adding the repository

zypper does not force the user to modify a file in order to manage the repositories: it includes options to do it from the application itself.

First, we have to add our repository:

# PlasticSCM infrastructure repository (needed to install mono)
zypper ar https://www.plasticscm.com/plasticrepo/plasticscm-common/openSUSE_12.3/ plasticscm-common
 
# SemanticMerge repository
zypper ar https://www.semanticmerge.com/semanticrepo/openSUSE_12.3/ semanticmerge

You'll note that "ar" means "add repository" and “semanticmerge_repo” is the name given to that repository. Of course, you can choose your own.

Once you have added the PlasticSCM infrastructure repository and the SemanticMerge binaries one, you need to reload the zypper cache so that the change takes effect:

zypper refresh

Installing SemanticMerge

Now you have added our repository and the repository cache is up to date. You only need to ask zypper to install the SemanticMerge packages:

zypper install semanticmerge

Just like that, you’ll have SemanticMerge running at the end of the process. We hope you’ll enjoy it!

First steps - Check the samples directory

We've included a directory with some Semantic cases.

Check the /opt/semanticmerge/samples directory to get familiar with the tool and its capabilities. Inside the subdirectories you will find several merge scenarios that you will be able to launch using the included .sh script.

Remember we have configured the scripts to use Kdiff3 to perform text based merge, so make sure you have it installed.

You can execute the following line on your terminal to run a merge case with a divergent move conflict:

$ /opt/semanticmerge/samples/Java/Socket_Deeper/samplesemanticmergetool.sh

For further understanding of how to use the SemanticMerge command line parameters, please review the contents of the sample script.

Now let's merge!

Even if your favorite distro isn't listed as supported in any of the previous categories, you might find that repositories from other versions of your distro can be used to install semanticmerge.

These are the installation options for non-listed distros:

Debian - Ubuntu
  • Debian 7: full compatibility using Debian 6 packages.
  • Debian 8: full compatibility using Ubuntu 14.04 packages.
  • Ubuntu 12.04: full compatibility using Debian 6 packages.
  • Ubuntu 14.10: full compatibility using Ubuntu 14.04 packages.
Fedora
  • Fedora 18-19: full compatibility using Fedora 17 packages.
  • Fedora 21: full compatibility using Fedora 20 packages.
RedHat - CentOS
  • RedHat/CentOS 6.x: Full compatibility using Red Hat 6.3 packages.
OpenSUSE
  • OpenSUSE 11.x: no repository support.
  • OpenSUSE 13.x: full compatibility using OpenSUSE 12.3 packages.

Warning! (2016-02-08) We’ve updated our bundled Mono version, starting with semanticmerge 1.0.81.0. Our packages will now require Mono 4.3 as a dependency, which might cause conflicts during package upgrade. To upgrade your Plastic SCM Linux installation, check the following guide:
http://blog.plasticscm.com/2016/02/mono-4-upgrade.html.