问题标签 [sharpsvn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1083 浏览

svn - 使用 SharpSvn 编写预提交挂钩。它是否缺少 svnlook propget?

我正在重写一个旧的颠覆预提交钩子。在我们公司,我们需要确保只有在提交前设置了属性 svn:needs-lock 时才允许提交二进制文件。

我开始编写钩子,看起来钩子的每个部分都有效,但是如果设置了属性,我找不到如何阅读。

我会假设,SvnLookClient 会有 SvnLookClient.GetProperty 方法,但我看到的唯一一个是 SvnLookClient.GetRevisionProperty。不幸的是 GetRevisionProperty 不允许传递有问题的文件。我在这里想念什么?

毕竟,svnlook propget 确实允许传递存储库、事务、属性名和存储库中的路径。

0 投票
3 回答
7210 浏览

c# - 使用 SharpSVN 添加文件

我想使用 SharpSVN 将目录下的所有未版本控制的文件添加到 SVN。

我首先在命令行上尝试了常规的 svn 命令:

我看到所有子目录,所有已签入的文件,一些标有“?”的新文件,没有“L”锁定指示

这会导致添加子目录中的所有新文件,这些文件本身已经在版本控制之下。

我想使用 SharpSVN 做同样的事情。我将一些额外的文件复制到同一目录中并运行以下代码:

但是引发了 SvnException:

  • SvnException.Message:工作副本 'C:\temp\CheckoutDir' 已锁定
  • SvnException.File: ..\..\..\subversion\libsvn_wc\lock.c"

我的代码中没有运行其他 svnclient 实例,我也尝试调用

就在添加之前,但无济于事。

由于文档相当模糊;),我想知道这里是否有人知道答案。

提前致谢!

0 投票
2 回答
9937 浏览

svn - 使用 SharpSvn 检索日期范围内的日志条目

我正在使用SharpSvn通过 C# 代码与我的 svn 存储库进行交互。我正在使用此代码来检索 svn 日志条目:

这很好用,但现在我想按修订日期限制返回的日志条目。这可以通过 svn 命令行来完成,例如

我似乎无法弄清楚 SharpSvn 中的并行功能。有人可以指出我正确的方向吗?

0 投票
2 回答
9490 浏览

c# - SharpSVN 读取所有文件名

在 SharpSVN 上仍然有点 n00b,我正在寻找一些简单的代码来打开一个 SVN 存储库,并读取(至少)特定文件夹中所有文件的完整路径。

假设这个文件夹是 \trunk\source

我不想结帐或提交,只是读入列表

我还希望阅读所有文件,而不仅仅是更改的文件。

0 投票
2 回答
706 浏览

sharpsvn - SharpSVN 是否有 API 来管理存储库权限

有谁知道是否有任何 API 可以在SharpSVN中管理存储库权限?例如,以编程方式为每个存储库添加读取和写入权限。

或者,关于使用其他 SVN API 管理权限的任何其他想法?最坏的情况是手动管理 svnaccessfile 的内容,但这是最后的手段。谢谢。

0 投票
1 回答
2001 浏览

c# - SharpSVN 路径问题

SharpSVN(1.5 和 1.6)检查代码时遇到问题。(注意,我的机器上也安装了 Tortoise 1.5)

同样的代码以前也有效,所以我不知道为什么事情可能会坏掉。

此代码从 SVN下拉副本。它会在名为 Sandbox 的目录中创建一个副本。

什么都没有改变(除了我自己的系统配置,我会在一分钟内完成),但是,现在我得到了错误:

现在这太疯狂了。这之前已经拉下来了。它告诉我运行“清理”暗示以前那里有一个工作副本!

此外,您还可以看到 SharpSVN 认为 .cs 文件位于 _svn目录中!

关于我的设置..我的系统上有 Tortoise 1.5(从 Tortoise 1.6 降级后,看看我是否可以解决这个问题..不行..

因为我是 .net 开发人员,所以我确实设置了 Tortoise 以使用 _svn 文件夹

有什么线索吗?欢迎提问..

0 投票
1 回答
3209 浏览

c# - SharpSvn 创建目录

我正在尝试创建一个可以自动化项目设置的网站。我想使用 SharpSVN 创建 SVN 目录。这是我尝试过的:

我收到此异常: System.ArgumentException,MESSAGE:此参数不是有效路径。指定了一个 Uri 参数名称:路径

另外,我不知道我在哪里输入了我想使用的用户名和密码?

0 投票
2 回答
1578 浏览

c# - Get log details for a specific revision number in a post-commit hook with SharpSVN?

I'm trying to write a post-commit hook using SharpSVN but can't figure out how to get the changeset info using SharpSVN given the revision number and the path to the repo. Any ideas are much appreciated.

0 投票
3 回答
1679 浏览

c# - SharpSVN 使用“SvnLookClient”获得提交后挂钩

我试图弄清楚如何获取特定版本的提交消息。看起来 SvnLookClient 可能是我需要的

我在 SO 上找到了一些看起来像我需要的代码,但我似乎遗漏了一些东西..

我找到的代码(在这里):

0 投票
2 回答
1380 浏览

asp.net - 允许本地 aspnet 帐户执行 SharpSvn.CreateRepository

我有一个 ASP.NET Web 应用程序,它试图在 SharpSvn 中执行 CreateRepository 方法,以便可以通过 Web 界面配置新的存储库。从 Visual Studio 中执行应用程序时,一切运行良好,因为它以我自己的身份运行,该身份有权访问在我的本地计算机上运行的 VisualSVN 服务器实例。但是,如果我在本地 XP 机器上的 IIS 下运行应用程序,那么 asp.net 工作进程会在本地 aspnet 帐户下执行,我似乎无法授予创建存储库的权限。无论我将权限扩展多远(甚至扩展到本地管理员或 VisualSVN 管理员组),SharpSvn 都会不断抛出 SvnAuthorizationException 并且我会在 aspnet 帐户下的安全事件日志中获得相应的条目。

这是代码的作用:

这导致了这个堆栈跟踪:

[SvnAuthorizationException:无法创建目录'E:\Repositories\TestRepoName':访问被拒绝。]

[SvnAuthorizationException: 无法创建顶级目录]

[SvnAuthorizationException: 存储库创建失败]
SharpSvn.SvnClientArgs.HandleResult(SvnClientContext 客户端,SvnException 错误) +165
SharpSvn.SvnClientArgs.HandleResult(SvnClientContext 客户端,svn_error_t* 错误) +80
SharpSvn.SvnRepositoryClient.CreateRepository(String repositoryPath, SvnCreateRepositoryArgs args) +828
SharpSvn.SvnRepositoryClient.CreateRepository(String repositoryPath) +53
RepoManager.DataAccess.RepoDataAccess.CreateRepo(String repoName, String projectName, Employee creatorEmployee) +183
RepoManager.Web.Default.SubmitButton_Click(Object sender, EventArgs e) +357
System.Web. UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page。 RaisePostBackEvent(IPostBackEventHandler sourceControl,字符串 eventArgument)+13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)+36
System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)+1565

看起来另一种方法是将 web.config 配置为模拟另一个帐户(例如域级别帐户),但是当我想要做的只是授予 aspnet 帐户适当的权限时,它似乎很冗长。

有人对如何做到这一点有任何建议吗?是什么让 aspnet 帐户配置看似不可能授予这些权限?

我不确定当它进入生产服务器时是否可以通过应用程序池标识来解决这个问题,但它仍然不能解决在 IIS 下本地运行的问题。