develooper Front page | perl.perl6.source.control | Postings from September 2000

Re: Can perforce gateway to CVS without loss of metadata? (was Re: code repository)

Thread Previous | Thread Next
Adam Turoff
September 13, 2000 19:25
Re: Can perforce gateway to CVS without loss of metadata? (was Re: code repository)
Message ID:
On Wed, Sep 13, 2000 at 09:59:09PM -0400, Barrie Slaymaker wrote:
> Adam Turoff wrote:
> > > Feedback welcome.
> > 
> > I noticed that CVS reports this as part of the version logs:
> > 
> > date: 2000/09/13 05:49:30;  author: cvs;  state: Exp;  lines: +19 -19
> Yup: not sure how to orchestrate logging in to the server as different usernames,
> or su'ing to be different users.  Suggestions welcome.

Well, use CVS, not su.

The best solution I could think of is having a scratch area set aside
for each committer.  That way, when a patch comes in from gsar or jhi,
the cvs sync is something like this

	cd cvs-scratch/jhi
	cvs up -A ## Sync to the current state of the repository
	<apply patch>
	cvs com 
	cvs tag r_<perforce release number>
	cvs tag Perl<Perl release number> ## If applicable

That presumes that cvs-scratch/jhi was instantiated like this:
   cvs -d ":pserver:(jhi|gsar|...)@loalhost:/cvs" co perl -d cvs-scratch/\1

Yeah, it's ugly, but disk is cheap and Perl is easy.  I'm not all
that happy with that solution though.  Of course, the release times
will be off, and time travel is left as an exercise for the reader.
And that sync script could be run as nobody, not root.

Oh, and you have to use cvs passwords, not "if you can see it,
knock yourself out" access.

One advantage is that if Jarkko and Sarathy put no more than one
mailed-in patch per change, the From: header can be parsed from 
the perforce logs, and CVS can note that Peter Prymmer, not Jarkko
is actually responsible for changing N lines of code.  (Assuming
Peter isn't committing his own changes already.) 

One disadvantage is that synchronizing branched development is a wee
bit tricky.  Use caution, and the appropriate amount of Scotch.
> > (It would be even nicer to see who actually wrote the patch if a single
> > patch is being applied with each change, but that sounds like a lot of
> > work.)
> I thought that was the purpose of putting the relavent mail headers in there?

Yes, but when 'jhi' commits a change from, CVS logs that
as jhi's change and annotates it as such (see 'cvs annotate').

> Or do you mean you want a tool to m// the mail header and add it to the above
> report (which doesn't look like direct p4 output, is it a perl script cooking
> the output?).

No, I'd like the person submitting a patch to have their name attached
to the lines changed in <insert VCS here>.  Not an issue with CVS, 
where "licenses" are free; serious issue with p4, where each user
login uses a license, and the pumpkings would suffer serious meltdown
if they were maintaining proxy accounts for every patch submitter.


Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About