# Micro-Manager Source Code

The source code includes all Micro-Manager files (Java and C++) and all supporting files (project files, build scripts, etc.). However, to build the entire project a number of Open Source libraries and device SDKs must be installed. Instructions for building Micro-Manager are available for Mac, Windows, and Linux.

## Github repository for 2.0

The source code for 2.0-gamma is located on github at:

https://github.com/micro-manager/micro-manager in the master branch. The branch “svn-mirror” is a copy of the 1.4 subversion repository (see below).

As of April 2021 the source code has been split into multiple Git repositories which are used as submodules of the main repository. In order to fully clone the source code please follow these instructions:

1: Clone the main repository: “git clone https://github.com/micro-manager/micro-manager

2: Initialize all submodules: “git submodule update –init –recursive”

When updating to a new revision of the repository using git pull it is a good idea to run the command in step 2 in order to make sure that all submodules are also up to date.

## Subversion repository for 1.4

To access the subversion repository you will need a subversion client.

https://valelab4.ucsf.edu/svn/micromanager2/trunk/ - Release 1.4
https://valelab4.ucsf.edu/svn/3rdpartypublic/ - 3rd party files needed for Release 1.4

There is a bug in the Subversion 1.8 client that prevents you from checking out our public repositories without a username. If Subversion asks you for a username and password, you can use the username “guest” (password “guest”) as a workaround. Subversion 1.7.x clients should not experience this problem.

Sometimes, a fresh checkout of the 3rdpartypublic repository will fail (possibly due to the subversion server timeout settings) with ra_surf: The server sent a truncated HTTP response body. To work around this, run svn cleanup and then svn up per 1 (on Windows, Tortoise SVN users can right click inside the 3rdpartypublic directory > TortoiseSVN > Cleaup … > Break locks (make sure it’s checked) > OK). Then continue with right-click, ‘SVN update’. This timeout will happen twice during boost checkout because of the large file sizes.

To build Micro-Manager 1.4, you should place the micromanager2 (trunk) and 3rdpartypublic repositories in the same directory. For example, run the following from your projects directory:

svn checkout https://valelab.ucsf.edu/svn/micromanager2/trunk micromanager
svn checkout https://valelab.ucsf.edu/svn/3rdpartypublic