version control - How to adapt this MKS Source Integrity workflow to Git? -



version control - How to adapt this MKS Source Integrity workflow to Git? -

please consider next case :

currently using mks source integrity (yes, hurts). twice week, developers check in feature (or part of it) development branch. check-ins 1 feature intertwined check-ins of other features. example: rev 1, 3, 5 feature a, rev 2 feature b, rev 4 feature c. once week, validated features checked in production branch. most requires merge out changes non-validated features. example: feature (from above) goes production, not feature b , c, wan't take rev 1, 3, 5 (discard 2 , 4), also, rev 3 might have required merge changes rev 2 when went in development; merge undone.

moving git (yay!). workflow respect constraint?

i have read lot it, , every workflow seems based on assumption @ time t, feature a, b, , c done. if not, guess t delayed.

in case, there no rush finishing features in time, ever. each developer works on 1 or several features. if it's ready, goes production. if it's not, maintain refining. every week, production build happens. extremely rarely, there no new code changes going production, it's built anyways. dozen features go in production.

hope it's clear enough. allow me know if need more details!

(edit) workflow considered:

work on feature in private branch push first time development, 1 single commit continue work in private branch push more changes development, still 1 single commit feature ready production; merge private branch production branch

rebase workflow:

at step 2, private branch rebased on latest development head, before push. doing so, happen when rebasing 1 time again @ step 4? changes first rebase, part of development, stripped out of newly rebased private branch, wouldn't they? create problem when going in production.

merge workflow:

at step 2, private branch merged latest development head;

the merge commit discarded in private branch, keeping private branch untouched happens in development branch. doing so, 1 have same merges 1 time again , again, every time checked in development.

the merge commit kept, , pushing development require merge new since lastly check-in. when going production, private branch carry changes other features. cherry-picking used pick relevant alter sets, require developer manually decide check-ins go , prone errors.

i set each feature it's own branch (taking total advantage of git's lite weight branches). 1 time feature ready, master can merged feature branch, feature can verified, branch can merged master (or production, or whatever :)).

the other add-on utilize here, have developers force own remote repo's, , have 1 person in charge of pulling changes developer's remote repo's main "blessed" repository. helps maintain command , "purity" of blessed repository.

git version-control

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -