[ 1 2 ] |
Envoyer du texte ascii en fonte "courier" ou équivalent (hors pièce attachée) est impossible sur le forum. Du coup, une réponse non top-postée, toujours en ascii ne me semble pas possible non plus...
Voilà ce que donne un .txt:
---------------------------------------------------------------
GIT workflow
CURRENT SITUATION
Our current git workflow is the following:
- Master is the development branch, and is therefore not considered as "stable"
- There is no branching, no tagging.
- The only "pseudo-branches" are the local copies of master on developer machines.
This can be represented as:
Dev 1 local --- dev---------------------etc..
/
/pull merge merge
/
Master--------------------R1--R1------R2------------------
/ / /
pull /merge /merge pull /merge
/ / /
Dev 2 local --- dev------------------------ etc...
The releases R1 and R2 are simply a snapshot (but untagged) of the development (master) branch, used to build the different OSes packages. In fact, there is no way of finding back any released version (so that an archive of source files is also generated together with packages). You will notice the 2 "R1" releases. This happens currently when some bugs are found in a release: a quick fix is made, and the "same" R1 is released (meaning that different users with "same" R1 release have in fact 2 different versions, as we can see on the user forum. It should be emphased that what differenciate versions is (and only is) a string manually managed in source code.
POSSIBLE IMPROVEMENTS ON RELEASE NAMING
Without changing current workflow, we could imagine two ways (between others) to have better version numbers:
1) Any Rx release could be unique (i.e. we cannot have 5.00.02 twice with different source code), and any Rx is a GIT tag. Many possibilities here:
- We keep current naming and add some information (4th number, or timestamp):
5.00.02-01, 5.00.02-02, etc...
or:
5.00.02-20170130-15:32, etc.
- We change current version numbering, the second number being the release, and the third number a patch number:
5.02.01, 5.02.03, etc...
2) To avoid source code change for versionning, we could use ant/git to:
- have the version directly included in build.xml (given that the developer has the "git" command)
- generate automatically a "version.java", which would contain only the specific build version information (version, maybe a few others: date, person making the build, etc...). A few different possibilities here (given we use only ant), one of them being: We could use a "template" source, and use the ant "replace" function to replace some tags (for instance: @@GIT-VERSION@@, @@BUILD-DATE@@, etc...).
Advantages:
- We would know exactly which version a user is using, and, more important, we could easily "git checkout" the same version, to reproduce the issue with the exact same build.
- The version number would be in only one place (the GIT tag)
- No manual change in source code and build.xml
Drawbacks:
- The version number is highly "static" and manually managed (as GIT tags are).
POSSIBLE IMPROVEMENTS ON WORKFLOW (REPOSITORY SIDE)
Dev 1 local --- dev---------------------etc..
/
Je viens de PUSHer mes dernières modifs. J'en ai profité pour ajouter dans le dossiers doc le manuel (en fr et en en) ainsi que je projet de site web (en fr seulement). Les fichiers sont, pour la base, des fichiers oStorybook (donc mv.db) avec les images (dossiers img).
On pourrait créer un sous-dossier doc/dev et y mettre les documents sur lesquels tu travailles. Ainsi avec GIT on peut récupérer les mises à jour et y travailler. Combiné avec ta suggestion de créer des branches, ou des tags, on obtiendrait là quelque chose d'assez sympa.
[ 1 2 ] |