sul-dlss / DeveloperPlaybook

A place to organize style guides, best practices, tools, and techniques for Stanford University's Digital Library Systems & Services group
21 stars 5 forks source link

Add branching suggestions to version control best practices #24

Closed dazza-codes closed 9 years ago

dazza-codes commented 9 years ago

See http://datasift.github.io/gitflow/IntroducingGitFlow.html http://datasift.github.io/gitflow/GitFlowForGitHub.html

Key points:

ndushay commented 9 years ago

:-1: I think the gitflow approach is overkill in most of our sul-dlss repos. It creates extra steps, a bunch of overhead and the benefits seem thin for most of our git repos.

I think gitflow makes sense for much larger teams working in the same code base, and for situations where there are more people poking at the dev and stage instances to ferret out problems. And where "releasing code" is a more formal process with more consumers using it.

I also don't agree with automatic deployments triggered by a commit, especially from a non-production branch.

dazza-codes commented 9 years ago

That's why it's a suggestion to provide reference material on this topic of branching and ways to do it effectively. All there is now is a sentence or two about using branches and that's it. I think there's more to this topic.

ndushay commented 9 years ago

@darrenleeweber yes, i understand it is a suggestion, but I disagree with the suggestion that this is an appropriate best practice for us to adopt at this time.

eefahy commented 9 years ago

:-1: I don't think we have or will have a consensus on any branching scheme for all projects, even as a suggestion. Branching schemes/workflows should be decided on project or team at a time and the decision should be documented for ease of transition from project to project.

cbeer commented 9 years ago

-0. I'd be more comfortable with a section in Versioning, maybe called "Version Control workflows" listing, possibly among other options, gitflow and github flow.

Maybe I'm worried that, as-is, this sounds like we have consensus on or are pushing the gitflow model, which I don't believe is or should be the case. But, I agree with @eefahy that branching is an important thing for project teams to agree on. Maybe that would be a good section in the project README.md? Once you get into integration with external tools, e.g. waffle.io, you get some extra benefits from a consistent process across a project team.

I think I'd be +0 in suggesting github flow is a DLSS best practice, and, although I think it is a better representation of existing practice, I'm not sure there's agreement on that either especially for project teams of 1.

azaroth42 commented 9 years ago

:-1: We don't currently do this (gitflow) in general, and there's no consensus that it's a great idea.

:+1: to adding a section that teams should agree upon workflow in general, including this (and trello vs waffle, etc) Please submit a new proposal for it.