You, the lyx developers, have to agree on process, but the git repo has been open for writing since sunday evening.

I propose the following:

Goal:

Do not merge any new features into lyx.git until
- they are truly finished,
- well commented and understandable by others,
- have good commit messages,
- there are no more doubts by other developers,
- the style and cosmetics are ok,
- they have been tested,
- (all automatic tests are fullfilled or tests have been created, if we ever do have tests).
This means history can get rewritten until it appears in lyx.git.

Repos and Branches:

* developers/<developer>/personal.git or local git clone: Developers develop based on the trunk-stable or 2.0.x branch.

    git checkout -b <developer>/my-feature trunk-stable
or
    git checkout -b <developer>/my-feature 2.0.x

* lyx-staging.git: Developers pull/push their feature branch into/to this repo.

    git remote add lyx-staging g...@git.lyx.org:lyx-staging.git
    git push lyx-staging my-feature

Either a feature is merged with trunk-devel by the developer, or it will be done automatically, or by a maintainer (who just runs the script manually and checks that things don't go wrong until everyone is comfortable with the workflow).

No direct commits onto trunk-devel are allowed. This trunk-devel branch represents the bleeding edge repo. Do not base your work onto this branch, because history might be rewritten. If your features depends on another feature, base your feature onto that feature and indicate this.

    git checkout -b developer/my-feature other-developer/depending-feature

* lyx.git: From time to time, features will get merged into or rebased onto the trunk-stable and/or 2.0.x branch in this repo. This repo consists only of long-lived branches.

I think this is how me and Abdel want to see the workflow ? Any other comments or questions ? Please do ask any git related questions as well when unsure.

If not, Lars, can you create a lyx-staging.git repo and give access to all developers. And maybe restrict access to lyx.git to the maintainers to prevent accidental commits (at least until everyone is used to the process).

Now it is the time to agree on the basic structure of the workflow.

Vincent

Reply via email to