[development] Suggestion for people releasing new modules and
themes into CVS
Derek Wright
drupal at dwwright.net
Wed Sep 13 18:12:45 UTC 2006
On Sep 13, 2006, at 10:24 AM, Khalid B wrote:
> I imagined that some would disagree with this, for that very reason.
> The other side of the coin is clutter in CVS and RSS feeds, but I
> guess
> your argument wins.
i, too, *strongly* disagree with your original suggestion on this.
the whole point of version control is keeping track of individual
changes so you know when, who, and why any given change happened, so
you can undo changes you don't like, and so you can more easily share
those changes with others. fixing N issues in 1 giant commit
completely violates many of the benefits of using version control in
the first place... 2 immediate examples of why this makes life
difficult:
1) if you need to undo a given change, but the same commit includes 4
other things you want, you're totally screwed. now you get to track
down the various patches that were actually committed (something our
existing practice isn't very good about -- you get a link to an issue
id, but sometimes there are 60+ patches in the issue, and it's not
always obvious which patch was actually used), undo the whole
revision, re-apply the 4 patches you want to keep, re-test
everything, commit it, etc.
2) you're looking at "cvs annotate" output to try to understand some
code you're not familiar with. there's a weird line in the code that
doesn't make much sense, you think it's a bug, and you want to know
where it came from. you see it was last touched in revision 1.67,
but when you look at the log message, there are 5 different issue
#s. :( now you have to read 5 issues to try to figure out which one
of them might really be the source of this change, and how it might
relate to the problems you're trying to understand...
avoiding "clutter" in the CVS logs and RSS feeds is looking at this
completely backwards. don't read all the logs if you don't care
about all the changes. ;) the solution here is to filter on messages
you actually care about (i.e. the ones from projects you care about,
or even the ones on specific branches of specific projects you care
about). there are already many ways to filter your view of the cvs
commits based on what you want to see (either on the command-line, in
various GUIs/viewcvs ways, and via drupal itself, e.g. http://
drupal.org/project/cvs/3281). that's how to keep your signal/noise
ratio high, not by trying to limit the overall # of commits in the repo.
anyway, enourmous -100 to this practice in the first place, and it
should by no means become a "guideline". ;) quite the contrary, the
guideline should spell this out (with more concise language) and
implore people to only make 1 change per commit...
> Does this mean you agree with all the rest of my points?
yes, i think the rest of them look good. thanks for helping to
document this wisdom.
-derek (dww)
More information about the development
mailing list