Re: PostgreSQL 8.4 development plan - Mailing list pgsql-hackers

From Mark Mielke
Subject Re: PostgreSQL 8.4 development plan
Date
Msg-id 47AA5FD4.8010408@mark.mielke.cc
Whole thread Raw
In response to Re: PostgreSQL 8.4 development plan  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: PostgreSQL 8.4 development plan
List pgsql-hackers
Tom Lane wrote: <blockquote cite="mid:20750.1202345935@sss.pgh.pa.us" type="cite"><pre wrap="">"Joshua D. Drake" <a
class="moz-txt-link-rfc2396E"href="mailto:jd@commandprompt.com"><jd@commandprompt.com></a> writes:
</pre><blockquotetype="cite"><pre wrap="">O.k. I am not too interested in starting a whole war here (again) but
 
for the record, we have what appears to be a perfectly working
capability to move from cvs to svn. So *if* review board is something
we really like, the SCM should not be the barrier.   </pre></blockquote><pre wrap="">
I believe the compromise that's been reached for the moment is that
the core SCM will remain CVS, because everybody's favorite other SCM
can import from CVS but not necessarily from somebody else's favorite
other SCM.  So a diff tool that doesn't work with CVS isn't going to be
especially useful for us.

I would imagine that the problem is mostly a lack of round tuits,
and that if we really fell in love with review board we could probably
teach it to handle diffs against CVS (especially seeing that the rest
of it besides post-review already works with CVS, supposedly).

So, again, the question is has anyone really used it?  Is it the
best thing since sliced bread, or not so much?
        regards, tom lane</pre></blockquote><br /> My official role at my place of work is "configuration management
softwarearchitect". We primarily use ClearCase and I am responsible for the software side of the tooling around it. We
haveseveral thousands users and terrabytes of data stored from millions of change sets. Not that roles or anything
matter,but where your job is PostgreSQL, my job is SCM.<br /><br /> Probably because I am spoiled - I don't understand
howyour teams get along so well with CVS. From my perspective, nearly everything available is better than CVS. If it
worksgood for you, and you don't ever have merging problems, or history tracking problems, then great - any move is
goingto be a hassle and will cause pain wasting at least some time in the next development cycle.<br /><br /> If you do
wantto see the benefit of change - here is my experience with Subversion:<br /><br /> I have been playing with
Subversionfor just almost two years now in a small group of people with 3 people on a small project. While working on
themain branch ("trunk") submissions were generally smooth.  Conflict resolution is poor without graphical tool
support,but with only three people and co-ordinated work this was rarely an issue. Atomic submissions were a pleasant
reliefand performance was adequate. Commits are not at the level of functionality that I am accustomed to though.
First,commits are not registered until a person is complete their work and the work is submitted. Second, merging of
commitsis very weak in every production version of Subversion available today (1.4 and before) because Subversion does
notperform merge tracking. As soon as one begins using multiple branches, it becomes very difficult to keep track of
wherethings are, and the people who support Subversion are satisfied writing commit numbers in their comments to keep
trackof completed merges. Finally, because the concept of directories, branches, and tags have all been blurred into
onemuddle, horrible things happen if you try to do anything clever. In my case, I had a web project that I intended to
breakinto web, lib, and source. I renamed trunk to trunk/www and created trunk/lib, and trunk/source. For this point
forwards,I was completely unable to merge changes from other branches to trunk. Subversion became completely confused.
Itwas at this point that my frustration acceptance level was passed, and I switched to GIT. This was last December.
Subversion1.5 was supposed to be out to address many of these issues, but it was a hollow promise as it was still not
releasedthe last time I checked, and a review of their discussions on the matter show that many of the promises they
madewere likely premature.<br /><br /> Since then, I have been consistently impressed with GIT. I have completed
complexmerges and extensive parallel development that would have been painful or impossible with Subversion. I am not a
fanof de-centralization as most GIT supporters are - but I am a fan of full feature change sets. In GIT I can merge a
changeset back and forth between branches and it will track it. I can rebase the change set to a later baseline and
continuemanipulating it. I can save my work space aside, or use the same work space to switch to another branch and
havemy uncommitted work automatically three-way merged to the new context. Our team on this outside work project is now
upto 5 people and everybody likes GIT better than Subversion.<br /><br /> My story is that Subversion is cute - but it
doesnot scale in terms of flexible parallel development models, nor does it provide sufficient functionality over CVS
tobe considered "the best thing since sliced bread." It is an improvement over CVS, but it is not a great tool. If you
aregoing to go through the effort of migrating to another system, I would seriously consider the benefits of other
systemsout there before believing that Subversion is the answer to all problems. GIT is one good choice. However, my
experiencewith these products in insufficient to make a recommendation for PostgreSQL. I would like to experiment with
Hgand a few others over the next few months and see what I think of these.<br /><br /> I encourage all to keep their
mindsopen.<br /><br /> Cheers,<br /> mark<br /><br /><pre class="moz-signature" cols="72">-- 
 
Mark Mielke <a class="moz-txt-link-rfc2396E" href="mailto:mark@mielke.cc"><mark@mielke.cc></a>
</pre>

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: PostgreSQL 8.4 development plan
Next
From: Bruce Momjian
Date:
Subject: Re: PostgreSQL 8.4 development plan