Using Other Tools for Source Control

When it comes to setting up and working with source control, there are more tools involved than just Flare. First of all, you need to have a place to host your remote project files, and there are different tools and services for this, depending on the source control provider. Second, you need at least one tool to interact with your source control provider and the remote files.

Host

Setting up a server to host the remote files is something that is done outside of your Flare project. This must be done first so that you have a place to bind your project from the Flare interface. You might have multiple options for setting this up, depending on the source control provider.

Here are some:

  • MadCap Central This is a very easy solution because all you need is a Central license. Then, you can bind a Flare project to that license via Flare with a few clicks. Central uses Git behind the scenes. See Source Control and MadCap Central.

  • Azure DevOps Server You can use this to host source control for providers such as Team Foundation Server (TFS) or Git.

  • GitHub This is a hosting service for Git.

  • Bitbucket This is yet another hosting service for Git.

  • Perforce Depot If you intend to use Perforce Helix Core, you can set up a depot on a Perforce server.

  • Subversion Repository If you intend to use Subversion, you can set up a repository on a Subversion server.

For more details about any of these, please refer to external information provided for these third-party solutions.

Note If you are using Central, you might decide to have a dual-bound setup where you have a first binding to Git, Perforce, Subversion, or TFS, and then a second binding to Central. On the other hand, if you are already using a dual-bound setup, you might decide at some point to move to a single-bound configuration where your only binding is to Central. See Moving From Dual-Bound to Single-Bound.

Application for Performing Source Control Activities

The application that you use to interact with your files and remote host might be a graphical user interface (GUI) or a simple command line solution where you have to know the command text to enter for specific tasks. A command line tool typically lets you enter any of the available commands for a provider, from basic commands to obscure ones. On the other hand, a GUI solution is usually more limited on the kinds of tasks you can perform, but it's usually easier for most people.

Here are some:

  • Flare You can use Flare's interface to perform the most common tasks for any of the integrated providers (Git, Perforce Helix Core, Subversion, TFS). Most of the tasks can be done from the Source Control ribbon or the Source Control Explorer.

  • Git Bash This is a popular command line tool to run Git-based commands.

  • Sourcetree This is a free GUI for running Git tasks.

  • Visual Studio This is an integrated development environment that you can use if your Flare project is bound to Git, TFS, or even other providers (e.g., Perforce Helix Core) if you use a plugin.

  • P4V (Helix Visual Client) This is a GUI for running Perforce Helix Core tasks.

  • TortoiseGit This is a GUI for running Git tasks.

  • TortoiseSVN This is a GUI for running Subversion tasks.

Note You are not limited to using just one application for interacting with your source control files. For example, you might decide to use a particular GUI for most of the basic tasks you need to perform on a daily basis, but you also might use a command line tool for other tasks that the GUI doesn't handle.

What the MadCap Doc Team Does

We previously used a dual-bound setup, but we are now single-bound to Central (largely because Central now supports branching).

As far as the application is concerned, we use Flare's interface for most of the daily source control actions (synchronizing files, merging Git branches). However, there are some more advanced tasks that Flare doesn't handle (e.g., cherry picking, viewing tags in the history), so we use Visual Studio for those things. Finally, we also use Git Bash occasionally for tasks that neither Flare nor Visual Studio can handle.

We also upload some of our output files to a TFS server via Visual Studio. These are the output files that are used for the local online Help (as opposed to the server Help) for MadCap Software's various products.