On Mon, 7 Oct 2002, Byrne, Steven wrote:
> Date: Mon, 7 Oct 2002 17:05:11 -0400
> From: "Byrne, Steven" <[EMAIL PROTECTED]>
> Reply-To: Struts Developers List <[EMAIL PROTECTED]>
> To: Struts Developers List <[EMAIL PROTECTED]>
> Subject: RE: Selective diff?
>
> Well, yeah, you actually might want to make a branch for just that
> reason:
>
> CVS gives you the ability to produce diffs between versions. Assuming
> Eddie was empowered create such a branch (OT!), then he could check in
> his changes to that branch. He, or others (since its a visible branch),
> could pull changes into the main line selectively, and could make CVS
> diffs for a specific change that was needed to add that to a bug report
> or whatever by using the "diff between specific versions" capability.
> Successive changes to the same branch work fine, and can be diffed
> either individually, or collectively.
>
> Now I realize that this is a little far fetched in some ways, because I
> think if he were able to create and write to a branch, he would be able
> to write to the mainline as well. So it's somewhat not sensible, UNLESS
> CVS provides a way to allow for differential access controls to branches
> versus the mainline (I have a vauge feeling that it does, but I haven't
> checked). If it did, this would be an interesting alternative to the
> current practice os attaching diffs to the bug report, as people could
> just create a branch and put their changes into it. Committers could
> pull the changes from that branch over into the mainline when desired.
> Since the branch is made with respect to a specific version of the
> file(s) in question, the "bit rot" that sets in when there's a long time
> between when a patch is created and when it's integrated can be avoided
> as the integrator can see exactly how the patch looked wrt the file at
> the time it was created, as well as how it might appear currently.
>
> Ok, so I'm probably smoking crack with this whole idea -- anyone know
> for sure if CVS specifically disallows this kind of "commit on a branch
> only" privilege?
>
CVS itself doesn't have much in the way of access control at all. In
fact, the granting of "karma" at Apache is done by an external PERL script
that checks the committer username against a configuration file
(CVSROOT/avail) that lists users allowed to commit to a particular
repository. So, our setup at Apache cannot (currently) distinguish to
the "within a repository" level of granularity.
I'm not as adamant as Martin is about not using branches for this sort of
thing, because it can make sense within a development group that all has
commit access. In fact, CVS has some commands specifically designed to
merge two branches (that have perhaps been being developed independently)
back together again -- although I shudder at the prospect of actually
trusting this for my own use.
This is not a practical solution, however, for a non-committer who wants
to create a diff file. See my previous mail on this thread for a
suggestion that seems to make more sense.
> Steve
Craig
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>