gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] CVS interop; latest cscvs; Wiki index-by-applicatio


From: John Meinel
Subject: Re: [Gnu-arch-users] CVS interop; latest cscvs; Wiki index-by-application?
Date: Tue, 28 Sep 2004 11:13:19 -0500
User-agent: Mozilla Thunderbird 0.8 (Windows/20040913)

Adrian Irving-Beer wrote:
I'm hoping to track the progress of a CVS project online, preferably
using a semi-automated 'vendor branch' and doing tags / merges against
that.

As far as I know, cscvs fits this bill best.  I'd be open to suggestions
at to what the current 'best way' is, though.

Also, I can't figure out which archive, if any, has the most recent
cscvs work.  The cscvs Wiki page says Robert Collins has it, but I get
404s on his people.initd.org site, and empry branches (no versions) on
the Sourcecontrol mirror.

Maybe we need something more than the archive registry.  The registry is
good for mapping archive names to locations, but it may be prudent to
have an index by application, too.

Whenever I import any given project into arch, I find myself wondering
if someone has already done the work.


Well, I went for the "CVS tree inside Arch tree" approach, and it seems to work pretty well. I get a few spurious CVS/Entries changes (the Entries file is updated without actually changing any other files), but aside from that, it works pretty well.

Some of this I took from the Wiki:
http://wiki.gnuarch.org/moin.cgi/Tracking_20a_20project_20that_20doesn_27t_20use_20Arch

Steps to reproduce:

Checkout the CVS repository.
        cvs co <project>

Go into that directory and create the arch project.
        cd <project>
        tla init-tree -S <new project name--CVS--version>

Now, add all of the files into the arch project. I was able to convince the people using CVS to use taglines, but you can also use explicit ids.

I also include all of the CVS directories and the files Entries, Repository, Root, Tag (if there)

Once you commit the Arch project, you can just do stuff like cvs update && tla commit -s "cvs-sync"

Or you merge in your changes, and commit them:

        cvs update # possible do a tla commit at this point
        tla star-merge <my branch>
        cvs commit -m "message"
        cvs update
        tla commit -s "cvs-sync, message"

It is arguable that you want to do a tla commit after the star-merge before the cvs commit && update. I did that for a while, but in the end decided I didn't like generating 2 patches for every sync. The idea was it created "purer" patches, but if someone wants the pure one, they can get it from my branch.

Now, you don't get all of the changsets from cvs that you would get from cscvs, this just does bulk synchronization. However, when I tried to use cscvs it found 8000 changsets in the cvs project tree, and wasn't very happy with me. This way works pretty well day-to-day.

I do know that I've done 'cvs update', and had no actual file changes, but the CVS/Entries files are updated. The contain some sort of timestamp, and maybe the get updated if someone commits to a branch of the same file. I haven't figured out the cause, I just live with the symptoms.

As far as your other statement about the project registry, you can go to:
http://sourcecontrol.net/?m=findbranch
And do a search for your project name

For instance, searching for "rhythm", brings up all of the branches that have the name "rhythmbox" in it.

Now this is only for projects that have been mirrored at sourcecontrol, but since it is the current supermirror, it should be most of them.

At the very least, if you have your arch project mirrored here, other people can find it. Even better, though, would be to get the project to mention the "official" arch repository (whether it is yours or somewhere else.)

John
=:->

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]