Current-Users archive

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

Re: git copies of cvs modules available


Thus wrote Michal Suchanek (

> I see multiple issues here.
> It is not surprising that like cvs git
> requires a service of its own to work properly,

UNlike cvs, unless you want to name ssh 'a service of its own'.

> and it is not
> surprising that the current vcs admins do not want to run multiple
> such service as it means more work for them and perhaps too much
> server load as well.

Work for me is not the point (unless it's pointless work :).
The current git repo is situated on the ftp server, not on any cvs
server. The frequent updates of the git repo are sufficient extra load
already for that machine.

> There is one point that many people in this discussion seem to miss.
> If the cvs repository was put in such state that it *can* be
> automatically converted to other vcs then people can create their own
> mirrors off the servers. You can get the features of cvs,
> git, and likely any other vcs all at once without additional load on
> the netbsd infrastructure.

The conversion problems do not have simple and obvious fixes:
There is no way in cvs to undo a repo move without damaging the cvs repo.
Also, there is not necessarily a way to deal with the vendor branch
issues in cvs without destroying history.
The git conversion has systematic errors (see the "keyword expansion"
topic) with the automatic conversion tools available, and no change
whatsoever in cvs will fix that, because it is not cvs that is in error
here, but the conversion tools available.

To create a perfect conversion, one would need to take cvsroot, parse the
commitlogs, add another information stream for repo moves, and replay the
evolution of the respective trees commit by commit, for every branch there
is. All existing tools just look at the cvs module itself, and take
guesses otherwise, and fail (depending on target repo by creating wrong
information or by falling over dead) because they lack information that is
just not in the cvs module, but vital to recreate historical checkouts.

In order to make this huge effort (writing the conversion tools, and
collecting the necessary additional information) worthwhile, there ought
to be a worthwhile VCS to put the "product" in. At present none such is
apparent. Note that above all other concerns, a master repository must be
stable enough not to turn itself into a heap of bit garbage the first time
there is some external trouble, and it also ought to support the way
NetBSD development works.

Last, making life easier for people without commit access is a welcome
side effect (and 3/4 of the reason we bother keeping the git conversion
running at present), but not the scope of tech-repository.

-- (S.P.Zeidler)

Home | Main Index | Thread Index | Old Index