Search code examples
gitangularexpressversion-controlvs-web-application-project

Best way to tag a project which is divided into subprojects?


I'm working on a web application which has the client side (using Angular) and the server side (using Express). These two subprojects have their own repository with their specifics tags as so as another project. Suppose that the client side has a tag v2.1.2 and the server side has v1.0.1. When they are going to be joined, should we use the tag of the client or the server side?

Which are the best practices to adopt to tag the whole project when we join the client and server side?

Note: they share the same public folder. The files compiled by Angular on the client side is copied to server side to be rendered.


Solution

  • Since the whole project is consist of a server side project and a client side project, you’d better use the version for the whole project which can also reflect the versions of server side project and client side project, so that each version of the whole project can be better traceable.

    Assume the server side version format is vX1.Y1.Z1, and the client side version is vX2.Y2.Z2, you can combine the two versions together for the whole project version:

    X1.Y1.Z1_X2.Y2.Z2 
    

    or

    X1.Y1.Z1.X2.Y2.Z2
    

    The first part is stand for the version of the server side and the second part is stand for the version of client side. So you can add the tag 1.0.1_2.1.2 or 1.0.1.2.1.2 for the whole project.