SharpSvn操作 -- 获取Commit节点列表
/// <summary>
/// 获取工作目录的所有节点,包括子目录
/// </summary>
/// <param name="workingCopyDir"></param>
/// <returns></returns>
public List<LocalNode> FetchWorkingCopy(string workingCopyDir)
{
var nodes = new List<LocalNode>();
var workingRoot = SvnClient.GetWorkingCopyRoot(workingCopyDir);
if (workingRoot == null)
{
FetchNotVersionedDir(workingCopyDir, nodes);
}
else
{
FetchWorkingCopyDir(workingCopyDir, nodes);
}
PrintLocalNodes(nodes);
return nodes;
}
private void FetchWorkingCopyDir(string path, List<LocalNode> nodes)
{
var statusArgs = new SvnStatusArgs
{
Depth = SvnDepth.Children,
RetrieveAllEntries = true,
ThrowOnError = false
};
Collection<SvnStatusEventArgs> list;
if (!SvnClient.GetStatus(path, statusArgs, out list))
return;
for (var i = ; i < list.Count; i++)
{
var argse = list[i];
if (argse.Versioned)
{
nodes.Add(new LocalNode { FullPath = argse.FullPath, NodeKind = argse.NodeKind, NodeStatus = argse.LocalNodeStatus });
if (argse.NodeKind == SvnNodeKind.Directory)
FetchWorkingCopyDir(argse.FullPath, nodes);
}
else
{
var nodeKind = File.Exists(argse.FullPath) ? SvnNodeKind.File : SvnNodeKind.Directory;
nodes.Add(new LocalNode { FullPath = argse.FullPath, NodeKind = nodeKind, NodeStatus = argse.LocalNodeStatus });
if (nodeKind == SvnNodeKind.Directory)
FetchNotVersionedDir(argse.FullPath, nodes);
}
}
} private void FetchNotVersionedDir(string path, List<LocalNode> nodes)
{
var files = Directory.GetFiles(path);
nodes.AddRange(files.Select(file => new LocalNode { FullPath = file, NodeKind = SvnNodeKind.File, NodeStatus = SvnStatus.NotVersioned }));
var dirs = Directory.GetDirectories(path);
foreach (var dir in dirs)
{
nodes.Add(new LocalNode { FullPath = dir, NodeKind = SvnNodeKind.Directory, NodeStatus = SvnStatus.NotVersioned });
FetchNotVersionedDir(dir, nodes);
}
}
public class LocalNode
{
public string FullPath { get; set; }
public SvnNodeKind NodeKind { get; set; }
public SvnStatus NodeStatus { get; set; }
}
SharpSvn操作 -- 获取Commit节点列表的更多相关文章
- vue怎么不通过dom操作获取dom节点
今天写一个公众号的项目,写了一个vue的搜索组件,点击搜索框时,背景出现一个遮罩,代码结构如下: template:`<div class="searchBar-div"&g ...
- (转载)html dom节点操作(获取/修改/添加或删除)
DOM 是关于如何获取.修改.添加或删除 HTML 元素的标准,下面为大家介绍下html dom节点操作,感兴趣的朋友可以参考下 HTML DOM 是关于如何获取.修改.添加或删除 HTML 元素 ...
- Javascript及Jquery获取元素节点以及添加和删除操作
用了javascript和jquery很久,把所有元素节点的操作总结了下,放在博客上作为记录. Javascript获取元素的主要方式有三种 1.document.getElementById('ma ...
- 【比特币】通过dns seeds获取节点列表数据
通过dns seeds获取节点列表数据 dns seed是什么 返回比特币网络上完整节点IP地址的DNS服务器,用于协助发现节点. 哪里可以查看到 我们在bitcoinj库中,params文件夹内为网 ...
- 使用JLDAP操作LDAP,包含匿名连接、ldif导入导出、获取根节点、对数据的操作、LDAP错误码解析等
bean类 package com.cn.ccc.ggg.ldap.model; import javax.persistence.Entity; import javax.persistence.T ...
- c#FTP操作类,包含上传,下载,删除,获取FTP文件列表文件夹等Hhelp类
有些时间没发表文章了,之前用到过,这是我总结出来关于ftp相关操作一些方法,网上也有很多,但是没有那么全面,我的这些仅供参考和借鉴,希望能够帮助到大家,代码和相关引用我都复制粘贴出来了,希望大家喜欢 ...
- 事件委托,元素节点操作,todolist计划列表实例
一. 事件委托 事件委托就是利用冒泡的原理,把事件加到父级上,来代替子集执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能:其次可以让新加入的子元素也可以拥有相同的操作. 比如有20个&l ...
- JS DOM操作(创建、遍历、获取、操作、删除节点)
创建节点 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="u ...
- 获取元素节点 & 操作属性节点
1.html 文档编写 js 代码的位置: window.onload事件在整个html文档被完全加载完再执行, 所以可以获取html文档的任何节点 js-window-onload.html ...
随机推荐
- openstack 创建镜像生成虚拟机不知道密码如何解决
背景: openstack juno版本,使用glance创建centos7镜像,然后生成虚拟机. 操作步骤: 首先获取镜像http://cloud.centos.org/centos/7/image ...
- 二维数组是二级指针pointer to pointer!
二维数组居然是个类似于二级指针(pointer to pointer)的东西,十分震惊! #include <stdio.h> int main() { ][]={{,,,},{,,,}, ...
- 使用军哥的lnmp配置虚拟主机,需要注意的是要配置hosts文件
#使用军哥的lnmp配置虚拟主机,需要注意的是要配置hosts文件(这一点官方没有讲到)具体方法:1.修改hosts文件sudo vim /etc/hosts 2.在hosts文件中新增一行(这里类似 ...
- CodeForces - 633D Fibonacci-ish 大数标记map+pair的使用
Fibonacci-ish Yash has recently learnt about the Fibonacci sequence and is very excited about it. He ...
- shell初级-----构建基本脚本
使用多个命令 如果想要多个命令同时运行,可以把它们放在一行,用分号隔开. date;who 创建shell脚本文件 创建shell脚本时,必须在文件第一行指定要使用的shell #!/bin/bash ...
- 《深度学习-改善深层神经网络》-第二周-优化算法-Andrew Ng
目录 1. Mini-batch gradient descent 1.1 算法原理 1.2 进一步理解Mini-batch gradient descent 1.3 TensorFlow中的梯度下降 ...
- 剑指Offer的学习笔记(C#篇)-- 二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- dshow整体框架前期构思
主要组成: ------理想在线平台---------- A:网站组成 1.产品方案介绍部分 2.用户注册管理部分 3.模块介绍及购买 4.普通 工单部分,vip在线部分 B:四大平台 1.打分平台 ...
- sql 查询重复数据
select user_name,count(*) as count from comm_user group by user_name having count>1;
- NSPhotoLibraryAddUsageDescription解决办法
图片并保存到本地的功能,一点发现闪退了.发现 Xcode 报以下错误: The app's Info.plist must contain an NSPhotoLibraryAddUsageDescr ...