swh.loader.cvs.cvs2gitdump.cvs2gitdump module#

swh.loader.cvs.cvs2gitdump.cvs2gitdump.usage()[source]#
swh.loader.cvs.cvs2gitdump.cvs2gitdump.main() None[source]#
swh.loader.cvs.cvs2gitdump.cvs2gitdump.output(*args, end='\n') None[source]#
class swh.loader.cvs.cvs2gitdump.cvs2gitdump.FileRevision(path: bytes, rev: str, state: str, markseq: int)[source]#

Bases: object

class swh.loader.cvs.cvs2gitdump.cvs2gitdump.ChangeSetKey(branch: str, author, timestamp: int, log: bytes, commitid: str | None, fuzzsec: int)[source]#

Bases: object

merge(anot: ChangeSetKey) None[source]#
put_file(path: bytes, rev: str, state: str, markseq: int)[source]#
class swh.loader.cvs.cvs2gitdump.cvs2gitdump.CvsConv(cvsroot: str, rcs: RcsKeywords, dumpfile: bool, fuzzsec: int)[source]#

Bases: object

walk(module: str | None = None) None[source]#
parse_file(path: str) None[source]#
swh.loader.cvs.cvs2gitdump.cvs2gitdump.file_path(r: bytes, p: bytes) bytes[source]#
swh.loader.cvs.cvs2gitdump.cvs2gitdump.git_dump_file(path: str, k, rcs, markseq) None[source]#
class swh.loader.cvs.cvs2gitdump.cvs2gitdump.RcsKeywords[source]#

Bases: object

RCS_KW_AUTHOR = 1#
RCS_KW_DATE = 2#
RCS_KW_LOG = 4#
RCS_KW_NAME = 8#
RCS_KW_RCSFILE = 16#
RCS_KW_REVISION = 32#
RCS_KW_SOURCE = 64#
RCS_KW_STATE = 128#
RCS_KW_FULLPATH = 256#
RCS_KW_MDOCDATE = 512#
RCS_KW_LOCKER = 1024#
RCS_KW_ID = 179#
RCS_KW_HEADER = 435#
rcs_expkw = {b'Author': 1, b'Date': 2, b'Header': 435, b'Id': 179, b'Locker': 1024, b'Log': 4, b'Mdocdate': 512, b'Name': 8, b'RCSfile': 16, b'Revision': 32, b'Source': 64, b'State': 128}#
RCS_KWEXP_NONE = 1#
RCS_KWEXP_NAME = 2#
RCS_KWEXP_VAL = 4#
RCS_KWEXP_LKR = 8#
RCS_KWEXP_OLD = 16#
RCS_KWEXP_ERR = 32#
RCS_KWEXP_DEFAULT = 6#
RCS_KWEXP_KVL = 14#
rerecomple() None[source]#
add_id_keyword(keyword) None[source]#
kflag_get(flags: str | None) int[source]#
expand_keyword(filename: str, rcs: rcsfile, r: str, excluded_keywords: List[str], filename_encoding='utf-8') bytes[source]#

Check out a file with keywords expanded. Expansion rules are specific to each keyword, and some cases specific to undocumented behaviour of CVS. Our implementation does not expand some keywords (see comments in the code). For a list of keywords and their expansion rules, see: https://www.gnu.org/software/trans-coord/manual/cvs/cvs.html#Keyword-list (also available in ‘info cvs’ if cvs is installed)