On Monday, 17 December 2012 at 17:45:12 UTC, David Nadlinger
wrote:
On Monday, 17 December 2012 at 17:31:45 UTC, foobar wrote:
Huh?
Both LLVM and KDE are developed on *subversion* and as such
their work-flows are not applicable. Not to mention that KDE
is vastly different in concept and goals than a programming
language.
Subversion is conceptually very different from git and its
model imposes practical restrictions that are not relevant for
git, mostly with regards to branches, merging, etc. Actions
which are first class and trivial to accomplish in git. This
is analogous to designing highways based on the speed
properties of bicycles.
Guess what, I know that. The post by SomeDude just claimed that
release branches in general are impractical and not used by
open source projects, which is wrong.
David
At least the first part in that sentence is correct - there are
more practical work flows that are just more difficult to achieve
in svn. The branch per release in those projects is just a
consequence of SVN limitations. hence open source projects _that
use git_ don't need to follow this route.
Either way, this is completely irrelevant for our purpose.
The process should be designed with DVCS in mind since we already
settled on this [very successful] model for D. We should avoid
designing a work-flow based on other models and limited
experience with git.
Suggestions such as implementing specific [shell?] scripts and
having branch-per-release brings no improvement over what we
already have.
I personally transitioned my [previous] team from ancient systems
(rcs, cvs, proprietary in-house crap) to git. It requires not
only memorizing a few new command line commands but also grokking
a different model. Those that do, use git to great effect and
greatly increase their efficiency, others simply have a "ci"
script that calls "git commit" and gain nothing.
At the moment we may use git commands but really we are still
developing on mostly a subversion model. Walter used to accept
patches and those were simply replaced by pull requests. There
isn't any change in the mental model required to really benefit
from a decentralized system such as git. This is what the process
discussion is ultimately meant to fix.