用SharpSVN确定第一条线路的位置?

用SharpSVN确定第一条线路的位置?,svn,sharpsvn,Svn,Sharpsvn,使用SharpSVN,有没有简单的方法来确定文件的指定行最后修改了哪一行 假设我有以下三项承诺: 承诺1: Hello 承诺2: Hello, World! 承诺3: Hello, World! Hi There :D 我想找一种函数,它可以实现以下功能: LastMod(lineNum: 1); //returns 2, since the first line was last modified in commit 2 LastMod(lineNum: 2); //returns 3,

使用SharpSVN,有没有简单的方法来确定文件的指定行最后修改了哪一行

假设我有以下三项承诺:

承诺1:

Hello
承诺2:

Hello, World!
承诺3:

Hello, World!
Hi There :D
我想找一种函数,它可以实现以下功能:

LastMod(lineNum: 1); //returns 2, since the first line was last modified in commit 2
LastMod(lineNum: 2); //returns 3, for the same reason
我需要在相当大的范围内(大型SVN存储库,每个文件有数百行/数千行)执行此操作,因此仅用“蛮力”比较以前提交的每一行可能不起作用。不确定SVN是否为我正在寻找的东西提供了实现,我对SVN和SharpSVN是新手


谢谢

好吧,我不知道SharpSVN的事,但我想我能帮上忙

Subversion有一个名为
annotate
bull
promission
的特殊命令。此命令的作用是列出文件中的所有行,并显示最后一行是何时更改的以及更改者

C> REM: produce an annotated report on foo.c#
C> svn blame foo.c# 
这将生成一个类似这样的报告(好吧,不是这样的,因为这是munged Java代码,但您明白了):

第一列是更改行的修订,第二列是更改行的人。剩下的是源代码行

作为一名C#开发者,我实在无能为力。然而,SharpSVN有一个名为的类,看起来它可能做同样的事情。还有一节课

还有一个方法是SvnClient类的一部分。我敢打赌,
SvnBlame
方法是生成我在上面向您展示的相同类型报告的一种方法


很抱歉,除此之外我无能为力……

谢谢!我会研究一下,明天(现在离我的电脑远点)试一下。事实上,刚试过,效果很好:)client.getdull(target,out dull);对一组SvnBlameEventArgs来说,这正是我想要的。再次感谢:)
109990     jevans package com.tc.cache.frontend;
109990     jevans 
109990     jevans import com.tangosol.net.CacheFactory;
109990     jevans import com.tangosol.net.NamedCache;
140072 dweintraub import java.util.ArrayList;
136130 ihroseline import java.util.List;
136130 ihroseline import java.util.Map;
123931     bfelds import org.apache.commons.logging.Log;
109990     jevans import org.apache.commons.logging.LogFactory;