Question
· Jul 4, 2017

Atelier & Git?

Hi,

 

we are trying to use Atelier and GitLab for our Software-development. Our Software has round about 1000 classes that got developed over years.

What we want to achieve is that one repository holding the complete code of one namespace. We also want to create branches to develop new small parts.

The main problem is that Atelier don't have the project view like in Studio where you can add/remove code and have an overview  of the project. It's like viewing the Namespace-Tab in Studio.  The complete source is always present in Atelier. Sure that's the nature of Git to give you all the code for compilation purposes. 

Example:

Namespace

   |--Module1

   |--Module2

   |--Complete new module which changes some classes of Module1 to work

In this example the new module will result in a new branch. This new branch has the complete code of the master-branch. Not very handy to work with. How can I know which class got changed in Module1 by viewing the complete source?

Is there any way to achieve something like that? 

How do you work with Git and large software with small projects that get developed over years? 

We need some possibilities to figure out if Atelier & Git is working for us without getting too complex. Right now it doesn't. 

Thanks in advance

Jochen

Discussion (4)1
Log in or sign up to continue

Hi Jochen.

If you have different modules in one namespace I suggest to you to have different Atelier projects for these modules. Then you can have one Git repository to handle all these projects.

With such approach the repository has all the code for the namespace and the code is grouped by projects (modules) inside repository.

Here you can find more details on how you can define Git repository for multiple projects.
https://wiki.eclipse.org/EGit/User_Guide#Creating_a_Git_Repository_for_m...

Regards,
Alexander.

Jochen,

We are also working on implementing GitHub and Atelier. I have been spending a lot of time researching various options. 

I think you will have to get use to the fact that all code in a repo will always be present, I don't see why this is an issue at all, just use package names to separate them.

The bigger issue I have come across is the actual workflow between Github, Atelier, Cache.  Checking out code from git will place the class files in the workspace directory but it will not push them into cache and compile it. I think we will have to write some kind of hook in Git to trigger a full import and compilation. 

Also, I find that the Git integration in Eclipse is hard to work with, it's not very clear and they are using non-standard terms. I recommend SourceTree instead.

BTW, I also recommend looking into Git-Flow , it solves some of the trickier version control issues.

Fred

Instead of creating multiple repositories. Can't you just create a single repository and keep all projects inside it?
This is what a monorepository approach does.

Big companies like Google opted-out for using this approach because they started to find it too hard to manage issues across multiple repositories, since one should clone the issued repository along with a tree of dependencies to make it testable. And that's only one use case.

Some few examples:

https://eng.uber.com/ios-monorepo/
https://medium.com/@pejvan/monorepos-85e608d43b57

https://blog.ghaering.de/post/monorepo-march/

Now you must consider if that's a option for your company. Since using monorepo actually seems to be a trend and can lead you into traps.