关注代码语料的处理,包括github、gitlab等各大代码仓库的最新代码、commit数据、issue数据等的爬取和清洗。
1. github issues信息获取
2. github commits信息获取
3. 其他代码托管平台调研
github仓库元信息下载:https://github.com/washing1127/publicRepos_mnbvc
github仓库代码下载+语料提取:https://github.com/imgingroot/github_downloader_mnbvc
运行前准备:在剩余空间较大的盘符中新建文件夹,将运行脚本和repos_list.txt文件放入新建的文件夹中;
运行: - windows: 双击运行脚本文件“run.exe”即可开始运行。 - macOS: 命令行输入 `sudo ./run`,点击回车即可。需要输入电脑密码。 - linux:1. 安装依赖`pip install -r requirements.txt`;2. 运行脚本`python3 run.py`;
运行中:程序会首先创建output文件夹,并在其中创建zips文件夹和jsonl文件夹。然后依照运行逻辑下载代码下载仓库的zip文件到zips文件夹下,再将其解压。解压后再提取其中的代码语料到jsonl文件夹下的jsonl文件中中,随后删除下载过的zip文件。jsonl文件每达到500M会打包成zip文件,打包后文件大小约为50M~100M。同时如果下载过程中会有一些已知的错误问题,会被记录到output文件夹下的error.log文件中,不用在意,最后将这个文件和jsonl文件夹下的所有文件一同返回给项目负责人即可。
其他说明:此外,运行是还会在运行脚本统计文件夹下创造.done文件。该文件是记录已经完全处理过的仓库,以防止重复处理的。正常运行时不可更改或删除,如果下载过程中遇到非程序错误的意外操作,需要重新下载的话,可以将output文件夹和这个.done文件一起删除,重新双击脚本运行即可。
代码仓库语料提取:https://github.com/LinnaWang76/githubcode_extractor_mnbvc
googleSourceCode下载:https://github.com/washing1127/googleOpenSourceCode_mnbvc