UPDATE! :  With the release of Flare v11 – GIT integration is now an included feature.  The instructions below only apply to Flare v10 and earlier releases.

More information on binding Flare v11 with GIT can be found here.

Rich Forristall, Product Manager for BRS Help and Education Systems at Burgess Group, is  also the founder and content developer of The Red Chicken Design Group.  Rich attended MadWorld 2013, and authors a blog on his website, http://theredchicken.com/blog.  We recently saw their blog post describing the process of manually setting up a Flare project to use Git source control. The example he’s outlined covers how to setup a Parent/Child Globally linked project, but the steps will be the same for a single instance of a project with no merging.  We’ve re-published it here (with Rich’s permission) for you to check out:

giterdone

 

 

 

 

 

 

 

 

Software trends seem to change as often as I change my socks. The latest buzz has developers pushing for implementing Git source control. Right now Flare has a plug in for a few source control options, but when your company goes in a different direction, it may leave you scratching your head.

So, recently I made the move to Git. Not gonna lie, it was a bit painful at first. But after a few missteps, I got Git going. Here are a few points I can share that may ease the pain…

Flare uses a lot of files and folders for reporting, analyzing and other miscellaneous chores that you do NOT want Git to bother with. Also, if you use global projects to share stylesheets, snippets, logo, etc, you probably don’t want to have those source controlled in your child projects. The idea there is that you won’t have to commit or push files that Flare automatically updates that have nothing to do with your content, and for your global projects, you don’t want the hassle of committing and pushing three or four files when you really only updated the one.

I started by placing my Flare projects in a folder on my root directory C:\. If you have multiple writers on your team, they should all do the same. One of the big issues I had was one of my writers had files under “My Documents” which in turn would cause Git to find a conflict. It was see the file paths for targets, imports, images and more were not in line. So, best practices, keep it on the C:\ drive.

Next step is setting your Git Ignore list.

Git Ignore List

This is a simple text file with the list of folders to exclude from the source control.

Git Ignore in Notepad

Folders to exclude for your projects should be:

  • Analyzer
  • FileSync (you may not see this one if you don’t map to external files)
  • Output
  • Project/Reports
  • Project/Users

Now, if you are using a global project structure, you may want to consider adding certain resources that you import from your master or global project into your child projects. These files could include:

  • PageLayouts
  • Snippets
  • Stylesheets
  • TableStyles

Child projects will link to several folders unless you specify them not to. You’ll find your project folder will contain a bunch of items you may want to ignore.

  • /Project/Advanced
  • /Project/ConditionTagSets
  • /Project/Glossaries
  • /Project/Reports
  • /Project/Skins
  • /Project/Users
  • /Project/VariableSets

Once you save this file and commit and then push it to Git. You’ll folders will be excluded and the green check mark will disappear.

Push to Git

 

 

 

 

 

 

I hope this quick tip was helpful.

Feel free to leave a question below on the MadBlog, or see the post on TheRedChicken blog here:  http://theredchicken.com/blog/quick-tip-setting-up-git-with-your-flare-project

For more information on using a Flare project with Source Control manually, see our help article here:  http://webhelp.madcapsoftware.com/flare9/Default.htm#Source_Control/About_Source_Control_and_Multi_Authoring.htm

About The Author

Jose Sermeno

About Jose Sermeno

With over 10 years of experience in the software industry, Mr. Sermeno brings a wealth of knowledge and expertise to the product evangelist team, helping introduce new users to everything MadCap Software. In his spare time, Jose is the Project Director for San Diego City Robotics, the San Diego community college systems robotics program, and enjoys working in software design and open source hardware development. Prior to joining MadCap in late 2010, Jose ran a Drupal development shop, and was an application manager for Temple University Health System.

Last Modified: June 18, 2015

This entry was posted in MadCap Software. Bookmark the permalink.

Comments

  • Steve J January 28, 2014 at 10:27 AM

    Is it possible to source control the project in one git repo and source control the output in a different git repo?

    Why did you choose to add the entire Output folder to .gitignore?

    • Jose Sermeno Jose Sermeno January 28, 2014 at 1:37 PM

      Hi Steve,

      Yes – you should be able to bind the output folder to a second git repo. Git utilizes a concept called “submodules” to allow nested repositories. More info on submodules in git can be found here: http://git-scm.com/book/en/Git-Tools-Submodules

      You add the Output folder to be ignored, generally because you’re never building from the repo copy of the project. If you’d like to maintain your output in Git, simply bind the output folder using the submodule method (for binding to a separate repo), or choose not to ignore when setting up your initial bind. You’ll still want to ignore the “Temporary” directory though. From our help doc’s: “You might transfer output files to source control, for example, if you are integrating your Help into a desktop application, and programmers need access to your output files to build the application. However, if you do this, make sure you map the source control to the appropriate output subfolder, and not to the Temporary subfolder or to the main Output folder, which contains the Temporary subfolder.”

  • Steve J February 16, 2014 at 5:16 PM

    Couple of caveats to this blog. I’m a newcomer and I found this blog somewhat misleading.

    First, you never state what github client you use; it looks like TortoiseGit.

    I started with an unversioned Flare project which I added to github by:

    a) Creating a github repo that initially has only a README
    b) Cloning it to a path on my C: drive that does not have spaces.
    c) Manually copying the unversioned Flare project there.
    d) Adding and pushing the project files to github

    It isn’t clear what you did and your statement that the first thing anyone needs to do is edit .gitignore is misleading. I was unable to edit .gitignore in the way you imply. Next commit I did, github deleted .gitignore but github is still ignoring the folders you suggest.

    Minor point: You say you’re hosting the Flare project on C:\ but you’re not. Everything is in C:\FlareFiles. Any path without spaces is probably fine.

    If you want I’ll provide the exact steps somewhere but doing that here will make the “comment” more like another blog….

    • Jose Sermeno Jose Sermeno February 27, 2014 at 9:20 AM

      Hi Steve,

      Please post your updated steps! We’ll be sure to get them to Rich, so whats required for setup is understood.

      Thanks. Jose.

    • Mike Espinosa January 22, 2015 at 11:26 AM

      Hi Steve,

      Were you able to put those updated steps together? I’d like to take a look at them since I am getting ready to use Git. Thanks, Mike

  • Russell S September 26, 2014 at 9:43 AM

    You don’t need to specify exact paths in the .gitignore. For example, if your .gitignore looks something like this:

    Analyzer/
    FileSync/
    Output/
    Reports/
    Users/
    Advanced/
    ConditionTagSets/
    Glossaries/
    Skins/
    Users/
    VariableSets/
    Temporary/

    then all directory paths that contain those names will be ignored. A bit more general and shouldn’t require as much maintenance as long as those directory names aren’t used for some other purpose such that they need to be under revision control.

  • Nicki Davis October 29, 2014 at 3:39 PM

    When you say that you can use Git for source control of your Flare files, are your projects bound to Git, so that you can use the commands on the Source Control ribbon to check files in and out? If so, which plug-in are you using to do this? I installed TortoiseGit on my computer, but it doesn’t show up on the list of 3rd party source control plug-ins when I try to bind a project to it.
    If not, then that must mean that you’re not using the Flare Source Control ribbon to check files in and out, but are using an external application (a Git GUI of some kind) to do this.
    Am I correct?

    • Jose Sermeno Jose Sermeno November 4, 2014 at 4:48 PM

      Yes, you’re correct. The writer is taking advantage of the fact that Flare content is compatible with any version control system. The lists of native protocols supported by Flare can be found in our online knowledge base here: http://madcap.us/1s1lXtc .

  • Shawn April 8, 2015 at 4:21 PM

    Hello Jose, you may wish to update this blog post with the fact that Flare now supports git in the UI. Well… er… sort of… Until Flare adds in ssh support, most git users won’t be able to use the git feature. :(

    • Jose Sermeno Jose Sermeno April 29, 2015 at 2:50 PM

      Hi Shawn,

      Thanks for the comment. I’ve submitted a feature suggestion on your behalf for Git integration to support SSH. You’ll be notified in the future when this is addressed.

      • Denise Marshall February 24, 2016 at 2:32 AM

        Is there a way that I could also be notified when this issue is addressed? We also use git with ssh.

  • Aish June 17, 2015 at 11:45 PM

    Hi Jose,
    I am new to Flare and trying to bind the project using GIT. But after filling in the details in the Bind project window, Clicking Ok doesn’t work. Any solution?

    • Jose Sermeno Jose Sermeno June 18, 2015 at 2:09 PM

      Hi Aish,

      Thanks for the comment. Unfortunately I don’t have enough info to assist in troubleshooting what the issue could be. I recommend following up with our Support team directly. They’ll be able to fully assist with getting you set up with Git in Flare.

      Thanks,
      Jose

Have Something to Say?

Your email address will not be published. Required fields are marked *