Using Global Projects and Source Control

This forum is for all Flare issues related to using Source Control.

Using Global Projects and Source Control

Postby oceanclub on Wed Dec 05, 2018 3:38 am

The source control method we use is Git and I'm currently migrating a single project to be multiple projects including a global project. This works fine and the expected files are imported from the Global project to my child project.

One thing that I'm unsure about - when I do a Git commit, the "Pending Changes" will include files from my Global project. Do I either (a) summit these in with my child project and later on they are overwritten when required by the same files from the Global project or (b) is there some configuration I can perform to set those files to be ignored when version control submits are performed?


P.
oceanclub
Sr. Propeller Head
 
Posts: 146
Joined: Thu Oct 10, 2013 4:45 am

Re: Using Global Projects and Source Control

Postby Dave Lee on Wed Dec 05, 2018 4:25 am

I'd say (a)

If you didn't include these files in source control, then different people could have different local versions of these files.
Dave Lee
Master Propellus Maximus
 
Posts: 5400
Joined: Mon Mar 05, 2007 8:33 am
Location: UK

Re: Using Global Projects and Source Control

Postby oceanclub on Wed Dec 05, 2018 6:54 am

Dave Lee wrote:I'd say (a)

If you didn't include these files in source control, then different people could have different local versions of these files.


But the source of the file is from the global project. If I check in the version of the file that is imported into the Local project, that means there's now two copies of the file held in source control which strikes me as also a bad thing to do?

P.
oceanclub
Sr. Propeller Head
 
Posts: 146
Joined: Thu Oct 10, 2013 4:45 am

Re: Using Global Projects and Source Control

Postby Dave Lee on Wed Dec 05, 2018 7:51 am

When you build the output from your child project, it's only going to use the files that are in the child project (that have been imported) - it doesn't take files directly from the original global project. So you need to include these files from your child project in source control - they're required to build your output.

If you don't include these files in the child project in source control, then you'll get inconsistent or broken builds because (a) different people can have different local versions of these files, and (b) if you get the project from source control from scratch, the imported files will be completely missing until you run an import.

You'll also have no control over which version of the imported files are used in the child project; e.g. what if you ever want to keep a project on an older version of the imported files?
Dave Lee
Master Propellus Maximus
 
Posts: 5400
Joined: Mon Mar 05, 2007 8:33 am
Location: UK

Re: Using Global Projects and Source Control

Postby oceanclub on Fri Dec 14, 2018 10:55 am

Dave Lee wrote:When you build the output from your child project, it's only going to use the files that are in the child project (that have been imported) - it doesn't take files directly from the original global project.


Yup agreed here.

So you need to include these files from your child project in source control - they're required to build your output.


Sorry but I don't get the if-then in this case. Once I kick off the build of the child project, it copies the files it needs from the relevant global project, as specified in the global.flimpfl file. (The "Auto Sync Import" dialog that pops up.) Those files are assumed to be already on the user's machine, but in the Global project, not in the child project.,

If you don't include these files in the child project in source control, then you'll get inconsistent or broken builds because (a) different people can have different local versions of these files


But we deliberately only include files in the global project which don't change very often such as pagelayouts and stylesheets. And it's assumed that the user has the global project checked out and keeps it updated.

You'll also have no control over which version of the imported files are used in the child project; e.g. what if you ever want to keep a project on an older version of the imported files?


Well the result we used a global project is enforce consistency across all projects. As in a project should never be using an older or different files. It sounds like we chose to use global projects fo the wrong reasons. :\

P.
oceanclub
Sr. Propeller Head
 
Posts: 146
Joined: Thu Oct 10, 2013 4:45 am


Return to Source Control

Who is online

Users browsing this forum: No registered users and 2 guests