# devSpec **Repository Path**: wangxiaoli__xidian/dev-spec ## Basic Information - **Project Name**: devSpec - **Description**: 简单的开发规范及流程 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-18 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # devSpec ### 介绍 简单的开发规范及流程 ### 开发流程: https://www.processon.com/diagraming/5f641fac1e08531edf36d0f2 ![image-20200918110434706](./pic/image-20200918110434706.png) ### OpenLab git 使用 1. 添加Owner的gitee账号(dandantang) 为仓库(pytorch, cann, testframework) 为开发者. 即可在openLab中拉去代码, Owner账号已配置sshkey. 2. git commit 时候使用 git config --local 不要使用 --global ### 遇到的一些问题: 1. 给华为pr需要先提交给owner, 再由owner提交给Ascend仓库 . 2. Owner先同步华为仓库, 自己再同步Owner仓库master, 自己合并解决冲突后再提交. 3. pr提交需要按照华为给出的规范来填写, [规范地址](https://gitee.com/ascend/docs-dev/blob/master/tutorials/Ascend%20Gitee%20%E4%BC%97%E7%AD%B9%E5%BC%80%E5%8F%91%E8%80%85%E4%BD%BF%E7%94%A8%E6%8C%87%E5%AF%BC.md#72-pr%E5%A1%AB%E5%86%99%E6%A8%A1%E6%9D%BF%E5%92%8C%E6%A0%B7%E4%BE%8B): 4. 提交给owner的pr需要仔细审核, 最好可以互相检查, 需要注意如下: a. 检查提交分支, 和所选owner分支是否正确. (需要仔细检查) b. 是否有多余文件上传. c. 尽可能修改“缺陷扫描”和”规范扫描中“所给出的问题. d. 检查是否能编译通过, 如下: ![image-20200918110434706](./pic/image-20200917233417599.png) ![image-20200918110434706](./pic/image-20200917233453299.png) 3. 各组请使用自己的账号完成需要的操作. 4. 不要直接提交代码到 Owner 仓库. 5. 开发中, 最好给每个算子分别创建分支, 同时在提交到Owner时候, 在Owner的仓库同样创建一个分支. 再由开发者分支提Pr到Owner分支. 这样可以保证master分支时刻能拉取最新的华为仓库代码. 6. 提交pr后, 华为指出问题后如何修改: a. pr代码未被合入华为仓库, 在自己仓库修改后提交pr到owner对应的分支即可. 不用关闭当前pr, 再重新提交. b. pr代码已被合入华为仓库, 创建pr到owner仓库, 再从owner仓库对应分支创建pr到华为仓库. ### PyTorch 适配注意事项: 1. 代码缩紧, 2个空格, 附 [规范链接](https://gitee.com/ascend/docs-dev/blob/master/tutorials/Ascend%20%E7%94%9F%E6%80%81%E4%BC%97%E7%AD%B9%20FAQ.md#16-%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E6%A0%BC%E5%BC%8F%E5%8C%96pytorch%E4%BB%A3%E7%A0%81) 2. 函数命名要和 `native_funtions.yml` 中的类似, 不要使用算子分析中的函数名. ### CANN 中消除 `pylint` 警告 [消除pylint警告](https://gitee.com/ascend/docs-dev/blob/master/tutorials/Ascend 生态众筹 FAQ.md#15-如何处理pylint告警) ### merge最新代码 1. 添加远程仓库代码 ```shell git remote add wanghui git@gitee.com:wanghuirs/pytorch.git ``` 其中 wanghui是给远程仓库起个名字, 2. 从需要merge的分支checkout -b 一个新分支进行merge, 原分支作为备份. ```shell git checkout -b tmp # 已经进入到新分支tmp(随便起的名字) git pull wanghui master:tmp # master指的是远程最新分支, tmp是当前的分支. git commit -m "merge newest code" # 可能需要解决冲突 git push .... ```