码云上传小工具
来源:互联网 发布:java获取浏览器类型 编辑:程序博客网 时间:2024/06/05 02:36
自从用了码云后,感觉太好用了,速度很快,而且还能建私有项目,这两点感觉比gitbub好多了,特别是现在翻墙不是不能用就是速度很慢的情况下。
但是昨天想把一些代码上传上去,遇到了一个问题,感觉有点坑,就是码云不让上传空文件夹,码云的解释是这样的:
上传少量文件是没啥问题,但是数量稍微多一些就吃不消了,而且每次因为空文件夹提交失败都是在提交传输后期,很浪费时间,还是自己写的小工具,用不了几行代码。
其实差不多就一个按钮,选择一下需要提交的路径,然后自动寻找到所有的空文件夹添加.keep文件,还有个删除bin/obj的CheckBox是因为我发现svn有个bug,就是我已经设置了bin和obj文件夹为全局忽略,但是提交的时候有些目录下仍然会出现在提交列表中,有点无奈。。
代码如下:
List<string> lstObjPath = new List<string>(); List<DirectoryInfo> lstDi = new List<DirectoryInfo>(); private void btnPath_Click(object sender, EventArgs e) { System.Windows.Forms.FolderBrowserDialog dialog = new System.Windows.Forms.FolderBrowserDialog(); dialog.Description = "请选择Code所在文件夹"; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.DealWithDi(new DirectoryInfo(dialog.SelectedPath)); this.DealWithEmptyDi(); this.DealWithObjDi(); } } private void DealWithDi(DirectoryInfo objDi) { DirectoryInfo[] subDi = objDi.GetDirectories(); foreach (var item in subDi) { if (ckDelBin.Checked &&(item.Name == "obj" || item.Name == "bin")) { lstObjPath.Add(item.FullName); continue; } lstDi.Add(item); DealWithDi(item); } }在选中了相应的文件目录后,递归找到所有的文件夹,如果要删除bin/obj文件夹,那么把它们加入到删除列表。
private void DealWithEmptyDi() { foreach (var item in lstDi) { if (Directory.GetDirectories(item.FullName).Length == 0 && Directory.GetFiles(item.FullName).Length == 0) { FileStream fs1 = new FileStream(item.FullName + "/ignore.keep", FileMode.Create); fs1.Close(); } } } private void DealWithObjDi() { foreach (var item in lstObjPath) { Directory.Delete(item, true); } }递归完后,循环所有的文件夹,判断如果为空,则添加一个ignore.keep文件,最后再删掉所有删除列表中的文件夹。
好了,工具做完了,数十行代码而已,妈妈再也不用担心我的码云svn提交空文件夹问题了。
阅读全文
0 0
- 码云上传小工具
- sftp 上传小工具
- 小工具
- 小工具
- 小工具
- 小工具
- 小工具
- 小工具
- 小工具
- 小工具
- 小工具
- 小工具
- 小工具
- 小工具
- 小工具
- 小工具
- JAVA小工具三:验证码
- 小工具-jsp实现验证码功能
- 类与对象第四题
- 文章标题
- CSP考试 2017年9月第1题 打酱油 C++实现
- 用户组的建立和权限修改
- Java集合框架的一些总结
- 码云上传小工具
- 四则运算练习器
- Redis事务详解
- 模板类与类模板、函数模板与模板函数等的区别
- 406. Queue Reconstruction by Height Difficulty : Medium
- SpringMVC快速入门记录(一)
- HDU 1874 畅通工程续
- 移动Web开发Day1
- [YTU](3019)螺旋方阵