> From: ryez <rye...@gmail.com>
> 1. we use the master branch to reflect what we have in production
> 2. for every patch, a separate patch branch is created from master
> 3. when a patch is ready to release/deploy, we first check if the patch
> branch can merge to master without conflict, if yes, the patch is then:
> MERGED to master, and DEPLOYED to production at the same time
> The problems we have are:
> 1. integration happens only upon releasing/deployment,
> 2. developers tend to directly deploy patches to production with very
> little testing
> 3. there's no clear overview picture of what's going on, since everyone
> works on him/herself, and versioning doesn't apply to our product.
> My questions are:
> What's your view/opinion of this?
It has the advantages and disadvantages that you describe.
> How to improve the manageability and testability,
You can't improve testability unless you intend to *test*. And your
organization is unwilling to require testing. You could add a testing
step to your process, but it would take more effort to produce each
Ideally, you would have an automated test system with a test suite
that you have verified has a high level of test coverage. For any
single patch, that provides a high ratio of testing for the effort
expended on testing. But it takes quite a bit of work to get the test
system and suite working well.
> without compromise too much of the ability to quickly fix production
One thing that would speed things up would be, before a worker
attempts to merge the patch to the master, to rebase the patch branch
to the head of the master. Assuming that nobody merges another patch
first, the worker can verify that the merge causes no conflict, and
then merge the patch branch to the master with a "fast-forward" merge
(which is guaranteed to have no conflict).
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/groups/opt_out.