On Thu, Aug 20, 2009 at 8:00 PM, Marcelo de Moraes
Serpa<celose...@gmail.com> wrote:
>
> However, a co-worker of mine came to me and said that partial commits
> are needed to share code. I don't agree with that, I think we can use
> patches or branches to do that (like a development branch) but at
> least one branch should have only stabe/deliverable code.

First: you keep using that word.  I do not think it means what you
think it means.

You can't really have a "partial commit."  Commits are an atomic unit
of version control; you've changed the state of the repository or you
haven't.  The *size* of a commit may vary, but a commit that's just
part of everything you're working on is still a commit.  And a commit
to a development branch is a commit, too.

It sounds to me like you're using "commit" not to mean "any update
that alters the history of the repository," but an update to the
official master branch (or trunk, if you're using Subversion).  That's
a bit more specialized, and I personally would advise a better word or
phrase for it.  "Push to master" works for me.  It may be that some of
your confusion with your team may just be a matter of unclear
terminology.


> For patches, however, he mentioned that we might have conflicts/code
> duplication, where the guy who shares the patches will have problems
> later on when pulling from the server (he already had part of the code
> that was committed).

Second: have you tried Git?  With all this talk of patch conflicts,
and "the server," and spotlighting development branches like they're a
big deal, I'm guessing you're using Subversion or something else where
branching and merging is a pain.  Once I learned to appreciate how
easy branches were in Git, and to use them properly and frequently, a
lot of these sorts of problems just evaporated.  (I've heard the same
is true in Mercurial too, FWIW.)

Get a proper tool that encourages branching and experimentation -- and
then encourage people to branch and experiment.  Your policy of having
an "all green" master branch is truly a good one, but if it
discourages people from _using_ the source control on a constant basis
then something needs to be made easier.  I personally can't imagine
using Git but refusing to commit my changes to my personal repository
until everything worked.  I commit _constantly._  Mostly for the sake
of being able to easily undo stuff.




-- 
Have Fun,
   Steve Eley (sfe...@gmail.com)
   ESCAPE POD - The Science Fiction Podcast Magazine
   http://www.escapepod.org
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to