GIT and Imported Shared Project

This forum is for all Flare issues related to using Source Control.
Post Reply
Carsten Pedersen
Propeller Head
Posts: 95
Joined: Wed Feb 08, 2006 1:11 am

GIT and Imported Shared Project

Post by Carsten Pedersen »

For me it looks like the Flare developers do not use their own system with GIT integration.

I have already submitted an error report about the constant re-formatting of the .gitignore file, to have the current Flare project paths in the top of the file. This makes GIT believe, that the .gitignore file have changed, when it just moves lines around in the file? Trying to solve this by adding .gitignore to .gitignore :-o

Secondly the problem that a GIT repository can only hold one (as one single) Flare project? We have 34 Flare projects, each making a new copy of the entire GIT repository every time :-o

And now to this question. A known and proposed solution for sharing common files amongst Flare projects is to import a shared Flare project into each Flare project. Here common topics, images etc. are added to each Flare project by an import from another shared Flare project. Internally Flare handles this by adding a small chain/lock on the imported files to indicate that they should not be changed in the current Flare project, but in the shared Flare project instead. The problem is, that when importing, the shared topics files are copied into the file structure of the current Flare project, making GIT think, that a lot of new files are added to the current Flare project :-o. Somehow you already ignore the changes to .gitignore in the Flare UI, it would be a great idea to also ignore imported shared files, since these must be handled from the other shared Flare project?

How are you people working around all these problems?

-cpede
doc_guy
Propellus Maximus
Posts: 1979
Joined: Tue Nov 28, 2006 11:18 am
Location: Crossroads of the West
Contact:

Re: GIT and Imported Shared Project

Post by doc_guy »

First of all, we don't manage our GIT from withing Flare. We use the setting to tell Flare to not recognize the GIT binding, and we do all our source control using a third party tool. (We use SmartGIT, but that is a paid solution. There are other free solutions out there as well.)

Here is how my GIT folder is organized:

Image

The Build Scripts folder is for our automated build process (we use Jenkins) and we store our scripts in the repo to make sure they are version controlled.

The CS-Site-files folder is for our customer support site. We publish a PHP version of our output so we can put our content behind a login. No Flare files are in this folder.

The Readme folder is for our build process as well, which picks up an RTF of our readme and includes it in the built output. So no Flare files in here either.

The TPP Project folder contains our main project, which also serves as the Global Project (master project) for Global Project linking.

The UA Employee guide contains a Flare project, that imports from our main TPP project.

The Venafi Cloud folder contains a Flare project, that also imports from our main TPP project.

So, as you can see, in a single GIT repo, we have several projects including master projects and child projects and other files that aren't related to Flare at all. You could certainly replicate this with your 30+ Flare projects in a single GIT repo.

As for importing files, yes the imported files are actually imported into the child folders and exist in the child projects.That means when they are updated, GIT sees them as being updated and you have to check in the files in the child project. It is an minor annoyance, mostly because we aren't changing the shared content very often. (We share style sheets, skins, master pages, etc., which have been set up and don't change very often.)

Does that help?
Paul Pehrson
My Blog

Image
Post Reply