# It requires that the SCCS and RCS tools be installed on your system.
#
# This code requires only get, unget, and prs from the SCCS tools.
-# it now assumes these will be called Berekely-style through an
-# sccs front end, e.g. "sccs get", "sccs unget", and "sccs prs".
-# This will work with the free CSSC tools.
+# If what you have installed is cssc, you may have to find where
+# its commands are installed (probably in a /usr/lib subdirectory
+# for arch-specific binaries) and add that to your PATH.
#
# Run this in a directory with an SCCS subdirectory. It will convert
# all the SCCS files to corresponding RCS master files in a new RCS
record("error recovery begins")
for master in os.listdir("SCCS"):
if is_sccsmaster(master):
- do_it("sccs unget " + master)
+ do_it("unget " + master)
print >>sys.stderr, """\
Danger! Danger!
Incomplete history in ./RCS -- remove it.
# If the CSSC package is installed, the SCCS commands might be here.
# This assumption works under Debian/Ubuntu and will be harmless elsewhere.
- os.environ["PATH"] += ":/usr/lib/cssc"
+ os.environ["PATH"] += ":/usr/lib/cssc:/usr/lib/x86_64-linux-gnu/cssc"
logtext = ""
# Extract a list of revisions from the master
revisions = []
try:
- for line in os.popen("sccs prs " + sccsmaster(stem), "r"):
+ for line in os.popen("prs " + sccsmaster(stem), "r"):
if line.startswith("D "):
revisions.append(line.split()[1])
except OSError:
rcsdate = day + " " + months[int(month)-1] + " " + year + " " + tod
progress("==> file %s, rev=%s, date=%s, author=%s" \
% (stem, rev, rcsdate, author))
- do_it_or_die("sccs get -e -r%s %s" % (rev, sccsmaster(stem)))
+ do_it_or_die("get -e -r%s %s" % (rev, sccsmaster(stem)))
record("checked out of SCCS")
# replace SCCS keywords with RCS keywords
do_it_or_die("rcs -l %s" % (stem,))
record("got trunk lock")
# Extract the delta message for this revision
- deltamsg = do_it_or_die("sccs prs -r%s SCCS/s.%s" % (rev, stem))
+ deltamsg = do_it_or_die("prs -r%s SCCS/s.%s" % (rev, stem))
deltalines = deltamsg.split("\n")
while deltalines:
line = deltalines[0]
except OSError:
die("RCS checkin of delta failed")
# We're done with this master, unlock it.
- do_it_or_die("sccs unget -r%s %s" % (rev, sccsmaster(stem)))
+ do_it_or_die("unget -r%s %s" % (rev, sccsmaster(stem)))
# Generate tags from snapshots created by Emacs VC mode
tagnames = os.path.join("SCCS", "VC-names")
for debugging unusual situations.</para>
</refsect1>
+<refsect1 id='problems'><title>PROBLEMS</title>
+<para>This code requires only get, unget, and prs from the SCCS tools.
+If what you have installed is cssc, you may have to find where
+its commands are installed (probably in a /usr/lib subdirectory
+for arch-specific binaries) and add that to your PATH.</para>
+</refsect1>
+
+
+
<refsect1 id='returns'><title>ERROR RETURNS</title>
<para>Returns 1 on any error, 0 otherwise.</para>
</refsect1>