tech-repository archive

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

othersrc conversion: call for RCS cleanup volunteers



Hi!

I've packaged joerg's cvs2fossil (the script that is used for pkgsrc
and src conversions) in wip/cvs2fossil and added a wrapper wip/cvs2hg
to create mercurial repositories directly from rsyncs of NetBSD CVS
repositories.

Last week I've converted the othersrc repository. cvs2fossil noticed
that there are some weirdnesses hiding inside the RCS files.

There are the following groups of problems:

Files with default branch, but no vendor branch
dist/cdk/BUGS
dist/cdk/CHANGES
dist/cdk/CHANGES.myc
dist/cdk/COPYING
dist/cdk/EXPANDING
dist/cdk/INSTALL
dist/cdk/Makefile.in
dist/cdk/NOTES
dist/cdk/README
dist/cdk/TODO
dist/cdk/binding.c
dist/cdk/c++/cdkscreen.cc
dist/cdk/c++/cdkscreen.h
dist/cdk/cdk-4.9.9.lsm
dist/cdk/config.guess
dist/cdk/config.sub
dist/cdk/configure.in
dist/cdk/debug.c
dist/cdk/demos/Makefile.in
dist/cdk/demos/appointment.c
dist/cdk/demos/clock.c
dist/cdk/demos/command.c
dist/cdk/demos/fileview.c
dist/cdk/demos/rolodex.c
dist/cdk/demos/rolodex.h
dist/cdk/demos/stopSign.c
dist/cdk/examples/Makefile.in
dist/cdk/examples/alphalist_ex.c
dist/cdk/examples/bind_ex.c
dist/cdk/examples/buttonbox_ex.c
dist/cdk/examples/calendar_ex.c
dist/cdk/examples/cdkscreen_ex.c
dist/cdk/examples/configure.in
dist/cdk/examples/dialog_ex.c
dist/cdk/examples/entry_ex.c
dist/cdk/examples/fselect_ex.c
dist/cdk/examples/graph_ex.c
dist/cdk/examples/hello_ex.c
dist/cdk/examples/histogram_ex.c
dist/cdk/examples/itemlist_ex.c
dist/cdk/examples/label_ex.c
dist/cdk/examples/marquee_ex.c
dist/cdk/examples/matrix_ex.c
dist/cdk/examples/mentry_ex.c
dist/cdk/examples/menu_ex.c
dist/cdk/examples/position_ex.c
dist/cdk/examples/preprocess_ex.c
dist/cdk/examples/radio_ex.c
dist/cdk/examples/scale_ex.c
dist/cdk/examples/scroll_ex.c
dist/cdk/examples/selection_ex.c
dist/cdk/examples/slider_ex.c
dist/cdk/examples/subwindow_ex.c
dist/cdk/examples/swindow_ex.c
dist/cdk/examples/template_ex.c
dist/cdk/examples/viewer_ex.c
dist/cdk/graph.c
dist/cdk/histogram.c
dist/cdk/include/cdk_objs.h
dist/cdk/install.sh
dist/cdk/man/cdk_binding.3
dist/cdk/man/cdk_cdk.3
dist/cdk/man/cdk_menu.3
dist/cdk/mkdirs.sh

Disconnected revisions
dist/cdk/BUGS 1.1.1.1
dist/cdk/CHANGES 1.1.1.1
dist/cdk/CHANGES.myc 1.1.1.1
dist/cdk/COPYING 1.1.1.1
dist/cdk/EXPANDING 1.1.1.1
dist/cdk/INSTALL 1.1.1.1
dist/cdk/Makefile.in 1.1.1.1
dist/cdk/NOTES 1.1.1.1
dist/cdk/README 1.1.1.1
dist/cdk/TODO 1.1.1.1
dist/cdk/aclocal.m4 1.1.1.1
dist/cdk/alphalist.c 1.1.1.1
dist/cdk/binding.c 1.1.1.1
dist/cdk/buttonbox.c 1.1.1.1
dist/cdk/c++/cdkscreen.cc 1.1.1.1
dist/cdk/c++/cdkscreen.h 1.1.1.1
dist/cdk/calendar.c 1.1.1.1
dist/cdk/cdk-4.9.9.lsm 1.1.1.1
dist/cdk/cdk.c 1.1.1.1
dist/cdk/cdkscreen.c 1.1.1.1
dist/cdk/config.guess 1.1.1.1
dist/cdk/config.status 1.1.1.1
dist/cdk/config.sub 1.1.1.1
dist/cdk/configure 1.1.1.1
dist/cdk/configure.in 1.1.1.1
dist/cdk/debug.c 1.1.1.1
dist/cdk/demos/Makefile 1.1.1.1
dist/cdk/demos/Makefile.in 1.1.1.1
dist/cdk/demos/appointment 1.1.1.1
dist/cdk/demos/appointment.c 1.1.1.1
dist/cdk/demos/clock.c 1.1.1.1
dist/cdk/demos/command.c 1.1.1.1
dist/cdk/demos/fileview.c 1.1.1.1
dist/cdk/demos/rolodex.c 1.1.1.1
dist/cdk/demos/rolodex.h 1.1.1.1
dist/cdk/demos/serial.c 1.1.1.1
dist/cdk/demos/stopSign.c 1.1.1.1
dist/cdk/demos/syb.c 1.1.1.1
dist/cdk/demos/vinstall.c 1.1.1.1
dist/cdk/dialog.c 1.1.1.1
dist/cdk/draw.c 1.1.1.1
dist/cdk/entry.c 1.1.1.1
dist/cdk/examples/Makefile 1.1.1.1
dist/cdk/examples/Makefile.in 1.1.1.1
dist/cdk/examples/alphalist_ex.c 1.1.1.1
dist/cdk/examples/bind_ex.c 1.1.1.1
dist/cdk/examples/buttonbox_ex.c 1.1.1.1
dist/cdk/examples/calendar_ex.c 1.1.1.1
dist/cdk/examples/cdkscreen_ex.c 1.1.1.1
dist/cdk/examples/configure.in 1.1.1.1
dist/cdk/examples/dialog_ex.c 1.1.1.1
dist/cdk/examples/entry_ex.c 1.1.1.1
dist/cdk/examples/fselect_ex.c 1.1.1.1
dist/cdk/examples/graph_ex.c 1.1.1.1
dist/cdk/examples/hello_ex.c 1.1.1.1
dist/cdk/examples/histogram_ex.c 1.1.1.1
dist/cdk/examples/itemlist_ex.c 1.1.1.1
dist/cdk/examples/label_ex.c 1.1.1.1
dist/cdk/examples/marquee_ex.c 1.1.1.1
dist/cdk/examples/matrix_ex.c 1.1.1.1
dist/cdk/examples/mentry_ex.c 1.1.1.1
dist/cdk/examples/menu_ex.c 1.1.1.1
dist/cdk/examples/position_ex.c 1.1.1.1
dist/cdk/examples/preprocess_ex.c 1.1.1.1
dist/cdk/examples/radio_ex.c 1.1.1.1
dist/cdk/examples/scale_ex.c 1.1.1.1
dist/cdk/examples/scroll_ex.c 1.1.1.1
dist/cdk/examples/selection_ex.c 1.1.1.1
dist/cdk/examples/slider_ex.c 1.1.1.1
dist/cdk/examples/subwindow_ex.c 1.1.1.1
dist/cdk/examples/swindow_ex.c 1.1.1.1
dist/cdk/examples/template_ex.c 1.1.1.1
dist/cdk/examples/viewer_ex.c 1.1.1.1
dist/cdk/examples/vinstall.c 1.1.1.1
dist/cdk/fselect.c 1.1.1.1
dist/cdk/graph.c 1.1.1.1
dist/cdk/histogram.c 1.1.1.1
dist/cdk/include/alphalist.h 1.1.1.1
dist/cdk/include/binding.h 1.1.1.1
dist/cdk/include/buttonbox.h 1.1.1.1
dist/cdk/include/calendar.h 1.1.1.1
dist/cdk/include/cdk.h 1.1.1.1
dist/cdk/include/cdk_config.h 1.1.1.1
dist/cdk/include/cdk_objs.h 1.1.1.1
dist/cdk/include/cdk_util.h 1.1.1.1
dist/cdk/include/cdkscreen.h 1.1.1.1
dist/cdk/include/config.hin 1.1.1.1
dist/cdk/include/curdefs.h 1.1.1.1
dist/cdk/include/dialog.h 1.1.1.1
dist/cdk/include/draw.h 1.1.1.1
dist/cdk/include/entry.h 1.1.1.1
dist/cdk/include/fselect.h 1.1.1.1
dist/cdk/include/graph.h 1.1.1.1
dist/cdk/include/histogram.h 1.1.1.1
dist/cdk/include/itemlist.h 1.1.1.1
dist/cdk/include/label.h 1.1.1.1
dist/cdk/include/marquee.h 1.1.1.1
dist/cdk/include/matrix.h 1.1.1.1
dist/cdk/include/mentry.h 1.1.1.1
dist/cdk/include/menu.h 1.1.1.1
dist/cdk/include/radio.h 1.1.1.1
dist/cdk/include/scale.h 1.1.1.1
dist/cdk/include/scroll.h 1.1.1.1
dist/cdk/include/selection.h 1.1.1.1
dist/cdk/include/slider.h 1.1.1.1
dist/cdk/include/swindow.h 1.1.1.1
dist/cdk/include/template.h 1.1.1.1
dist/cdk/include/viewer.h 1.1.1.1
dist/cdk/install.sh 1.1.1.1
dist/cdk/itemlist.c 1.1.1.1
dist/cdk/label.c 1.1.1.1
dist/cdk/man/cdk_alphalist.3 1.1.1.1
dist/cdk/man/cdk_binding.3 1.1.1.1
dist/cdk/man/cdk_buttonbox.3 1.1.1.1
dist/cdk/man/cdk_calendar.3 1.1.1.1
dist/cdk/man/cdk_cdk.3 1.1.1.1
dist/cdk/man/cdk_dialog.3 1.1.1.1
dist/cdk/man/cdk_display.3 1.1.1.1
dist/cdk/man/cdk_entry.3 1.1.1.1
dist/cdk/man/cdk_fselect.3 1.1.1.1
dist/cdk/man/cdk_graph.3 1.1.1.1
dist/cdk/man/cdk_histogram.3 1.1.1.1
dist/cdk/man/cdk_itemlist.3 1.1.1.1
dist/cdk/man/cdk_label.3 1.1.1.1
dist/cdk/man/cdk_marquee.3 1.1.1.1
dist/cdk/man/cdk_matrix.3 1.1.1.1
dist/cdk/man/cdk_mentry.3 1.1.1.1
dist/cdk/man/cdk_menu.3 1.1.1.1
dist/cdk/man/cdk_misc.3 1.1.1.1
dist/cdk/man/cdk_radio.3 1.1.1.1
dist/cdk/man/cdk_scale.3 1.1.1.1
dist/cdk/man/cdk_screen.3 1.1.1.1
dist/cdk/man/cdk_scroll.3 1.1.1.1
dist/cdk/man/cdk_selection.3 1.1.1.1
dist/cdk/man/cdk_slider.3 1.1.1.1
dist/cdk/man/cdk_swindow.3 1.1.1.1
dist/cdk/man/cdk_template.3 1.1.1.1
dist/cdk/man/cdk_viewer.3 1.1.1.1
dist/cdk/marquee.c 1.1.1.1
dist/cdk/matrix.c 1.1.1.1
dist/cdk/mentry.c 1.1.1.1
dist/cdk/menu.c 1.1.1.1
dist/cdk/mkdirs.sh 1.1.1.1
dist/cdk/position.c 1.1.1.1
dist/cdk/radio.c 1.1.1.1
dist/cdk/scale.c 1.1.1.1
dist/cdk/scroll.c 1.1.1.1
dist/cdk/selection.c 1.1.1.1
dist/cdk/slider.c 1.1.1.1
dist/cdk/swindow.c 1.1.1.1
dist/cdk/swindow.c 1.3.8.1
dist/cdk/template.c 1.1.1.1
dist/cdk/viewer.c 1.1.1.1
usr.sbin/sushi/run.c 1.5.2.1
usr.sbin/sushi/scanform.c 1.21.2.1
usr.sbin/sushi/scanform.c 1.21.2.2
usr.sbin/sushi/scanform.c 1.21.2.3
usr.sbin/sushi/scanform.c 1.21.2.4
usr.sbin/sushi/sushi.c 1.9.2.1

Revisions not newer than previous revision
libexec/tnftpd/src/logutmp.c 1.1.1.8 1.1.1.9
libexec/tnftpd/src/ftpusers.5 1.1.1.6 1.1.1.7
libexec/tnftpd/src/pathnames.h 1.1.1.4 1.1.1.5
libexec/tnftpd/src/logwtmp.c 1.1.1.7 1.1.1.8
usr.bin/tnftp/libedit/key.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/term.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/el.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/emacs.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/chared.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/prompt.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/hist.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/read.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/common.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/history.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/parse.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/refresh.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/map.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/sig.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/sig.h 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/sys.h 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/tty.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/search.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/tokenizer.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/libedit/vi.c 1.1.1.1 1.1.1.2
usr.bin/tnftp/src/progressbar.h 1.1.1.6 1.1.1.7

The third issue has a companion - many of the imports of tnftp{,d} are
split in multiple parts by the conversion, because the time stamps in
the RCS file for the same import (judging by the commit message) are
sometimes months apart.

One example for this (hg log from after the conversion, but this can
be checked by looking at RCS dates for files):

changeset:   62:3eb9de2ebc0c
user:        Luke Mewburn <lukem%NetBSD.org@localhost>
date:        Sat Nov 13 10:50:39 1999 +0000
summary:     tnftp (The NetBSD Ftp) - an autoconfed version of the ftp client in NetBSD

changeset:   61:a03852db5808
user:        Luke Mewburn <lukem%NetBSD.org@localhost>
date:        Sat Nov 13 01:18:22 1999 +0000
summary:     tnftp (The NetBSD Ftp) - an autoconfed version of the ftp client in NetBSD

changeset:   60:a3b8e8d686b0
user:        Luke Mewburn <lukem%NetBSD.org@localhost>
date:        Mon Oct 11 07:02:45 1999 +0000
summary:     tnftp (The NetBSD Ftp) - an autoconfed version of the ftp client in NetBSD

changeset:   59:07eef27c7717
user:        Luke Mewburn <lukem%NetBSD.org@localhost>
date:        Mon Oct 04 00:48:59 1999 +0000
summary:     tnftp (The NetBSD Ftp) - an autoconfed version of the ftp client in NetBSD

changeset:   58:7cf660e4a7ed
parent:      0:6aacdcf292dd
user:        Luke Mewburn <lukem%NetBSD.org@localhost>
date:        Wed Sep 29 13:50:35 1999 +0000
summary:     tnftp (The NetBSD Ftp) - an autoconfed version of the ftp client in NetBSD


Comparing a Mercurial checkout to a CVS one gives the following diffs:

couple of diffs like this:
diff -r ./dist/cdk/binding.c /archive/foreign/othersrc/dist/cdk/binding.c
6c6
<  * $Revision: 1.1 $
---
>  * $Revision: 1.1.1.1 $

I think this is a result of the branch tag problems above.

And one file that is only in the hg checkout: zoularis/bsd/Makefile.inc

I tried reading the RCS log for that file - IIUC the file was removed
in v1.14 (replaced by Makefile.inc.in in 2003; this file was deleted
with the rest of zoularis in 2005), but there are two more commits to
the file after the removal, 1.15 and 1.16. No idea how that can
happen.


So far the status, now the reason for the email:

- I've asked lukem if he wants to fix up the tnftp{,d} imports.

- Is anyone else interested in fixing up old RCS files in the next
  couple of weeks, so they make more sense? [1]

In my opinion, these are not big issues, and they have been there for
many years without anyone caring.


If there are no near-future cleanup volunteers, I'd take the
conversion as I have it right now, 'hg rm zoularis' and use that as a
starting point for the hg repository.

You can take a look at the current state of the conversion here:

http://ftp.netbsd.org/pub/NetBSD/misc/wiz/othersrc.hg-20230703.tar.gz  (30 MB)

Thanks for reading this far!

Cheers,
 Thomas




[1] I'd prefer a patch to the rsync RCS files so that I can do rsync,
apply patch, convert; in case I have to do this a couple more times
for other issues, though I hope I won't have to.


Home | Main Index | Thread Index | Old Index