SharpSVN.Merge()不工作,返回true但无法看到代码中的变化
我试图将从SVN文件夹与本地文件夹进行合并,该文件夹具有以前的修订代码和新更改.下面的方法采用SRCURL和文件夹的本地路径,该路径具有新的更改,SRCREV保留了修订号,需要从SVN合并到我的本地文件夹. svn.merge()返回true,但在合并后无法看到我本地文件夹中的任何代码更改. 任何人都可以告诉我在哪里做错错误. public void Merge(String SrcUrl,String localpath,long SrcRev) { using (SvnClient client = new SvnClient()) { try { SvnMergeArgs mergeArgs = new SvnMergeArgs(); mergeArgs.Depth = SvnDepth.Infinity; //Attaching the events merg
18 2024-04-26
编程技术问答社区
我如何设置Hudson在不同的项目中使用同一个资源库,并维护不同的变更日志?
我通常将SVN设置为每个存储库主持1个大项目,但是我们的许多基础架构已经更改,现在我们拥有一个具有层次结构的主要SVN服务器,例如SO 分支 标签 树干 Project1 文件和文件夹 Project2 文件和文件夹 Project3 文件和文件夹 项目1,2和3不共享任何东西,它们是独立的项目,每个项目都有自己的解决方案文件. 我可以在哈德森中设置项目,例如 存储库URL: http://server/server/svn/mainrepository 本地模块目录(可选):/trunk/project1 ,这将为每个项目都保留一个单独的工作空间,但是每次您投入项目2或项目3时,都会在哈德森(Hudson)启动一个基于该存储库中的项目的构建.同样,将存储库中任何地方制作的任何提交都被拉下并插入哈德逊式的changelog中. 我知道最简单的解决方案是简单地将每个项目分为自己的存储库.但是,如果由于各种原因我不能这样做,是
16 2024-04-25
编程技术问答社区
.NET的部署实践
我有一个新的应用程序,我想将其部署到我最近注册的托管服务器上.我想知道将是最佳部署的最佳方法.根据我的经验,我已经看到许多ASP.NET应用程序只是将DLL推向服务器.这是如何实现的? 我有乌龟SVN作为我的颠覆系统.我在另一台服务器上有一个存储库,通常会提交更改,然后在托管服务器中更新我的释放文件夹,但这不需要我相信的所有.aspx,解决方案和其他文件.我该如何进行设置,以便我只推开DLL以及更新DLL的更新? . 我对此不太清楚,并希望在这种情况下进行解释和最佳实践. 解决方案 我之前曾面临过类似的问题,并在每次移动编译文件以在应用程序中进行增量修复时遵循以下步骤. 维护解决方案文件的两个单独的副本 - 本地应用程序和生产应用程序 //这很重要,因为一旦进入生产环境.一个用于本地工作的副本,仅用于部署在实时服务器中的副本.此副本应与您的实时服务器副本保持最新. 在您的本地应用程序文件夹/解决方案中对文件进行更改,并编译并测试应用程序.现在仅提交您编辑的文
4 2024-04-25
编程技术问答社区
我如何设置Hudson在不同的项目中使用同一个仓库,并维护不同的变更日志?
我通常将SVN设置为每个存储库主持1个大项目,但是我们的许多基础架构已经更改,现在我们拥有一个具有层次结构的主要SVN服务器,例如SO 分支 标签 树干 Project1 文件和文件夹 Project2 文件和文件夹 Project3 文件和文件夹 项目1,2和3不共享任何东西,它们是独立的项目,每个项目都有自己的解决方案文件. 我可以在哈德森中设置项目,例如 存储库URL: http://server/server/svn/mainrepository 本地模块目录(可选):/trunk/project1 ,这将为每个项目都保留一个单独的工作空间,但是每次您投入项目2或项目3时,都会在哈德森(Hudson)启动一个基于该存储库中的项目的构建.同样,将存储库中任何地方制作的任何提交都被拉下并插入哈德逊式的changelog中. 我知道最简单的解决方案是简单地将每个项目分为自己的存储库.但是,如果由于各种原因我不能这样做,是
8 2024-04-25
编程技术问答社区
SVN预提交钩子,避免提交到特定的分支上
使用C#阻止SVN承诺指定分支的一种可能的方法?我如何从预先承诺的钩子中的参数中获得分支的路径? (或任何其他有关获取阻止路径的建议) 有没有办法使用svnlook来查看它修改了哪些文件,也许是? 任何建议都高度赞赏! 解决方案 当我必须这样做时,我遵循了本指南: subversion-pre-commit-hooks-in.html 我写了一个称为svnlook的C#应用​​程序,并由预定挂钩发射以检查路径是否允许. 以下是我的代码,它应该容易适应您的情况: class Program { static void Main(string[] args) { var repos = args[0]; var txn = args[1]; var log = GetSvnLookOutput(repos, txn, "log"); var changedPaths = G
8 2024-04-23
编程技术问答社区
在声纳分析过程中因 svn 怪罪而在 jenkins 中出错
当我运行詹金斯任务时,我会收到以下错误 17:12:49.738 INFO - Sensor SCM Sensor... 17:12:49.847 INFO - SCM provider for this project is: svn 17:12:49.847 INFO - Retrieve SCM blame information... 17:12:49.863 INFO - 843 files to be analyzed INFO: ------------------------------------------------------------------------ INFO: EXECUTION FAILURE INFO: ------------------------------------------------------------------------ Total time: 1:11.026s Final Memory: 31M/214
22 2024-04-23
编程技术问答社区
VisualSVN 和 Slack
我正在审查Slack-VisualSVN集成指南,并在此处遇到麻烦. 在 当您查看 Windows Server 2012主持SVN. 解决方案 尝试 http://slack.com/apps/a0f827lta-subversion . >
32 2024-04-22
编程技术问答社区
我想找到 SVN 中包含空格和特殊字符的所有文件名
我想找到包含空格和特殊字符的SVN中存在的所有文件名,并将其放入temp.txt中.我没有这样的途径.我还需要在子文件夹中找到文件名. 我尝试了以下命令,但它不起作用. find.-type f|egrep-i"~||&|@|#||;|:|!|'^'|,|-|_"|tee temp.txt 它做错了什么? 解决方案 您的正则是错误的.尝试以下操作: find . -type f | egrep -i "[-~&@#;:!^,_]" | tee temp.txt 您想指定要查找的字符,这就是[]的目的.我可能错过了您的意思是几个角色,所以请仔细检查所有这些字符. 还要注意,此命令将在目录中找到任何文件 - 它可能是repo的一部分. .
10 2024-04-22
编程技术问答社区
用 Svn Post Commit 钩子将已提交文件复制到另一个版本库的工作副本?
目的是维护2个单独的存储库,这些存储库不严格反映.这两个存储库都会受到不同开发人员的更新,因此SVNSYNCH不可能解决. 挂接脚本可能不是正确的解决方案,因为我非常希望随意运行脚本,而不是每次提交脚本.也许是比较时间戳并复制最小的脚本?请不要建议我们更改为git. 解决方案 我正在链接到挂钩脚本我使用每次遵守的存储库都会查看部分存储库.您可能可以修改它以适应您的需求;我想您想将svn checkout更改为svn export. 对于后代,我将在此处复制脚本的文字: #!/bin/bash # POST-COMMIT HOOK # # This is an SVN post-commit hook to automatically update a directory with the contents # of some part of the SVN repository every time that part of the repository is
20 2024-04-22
编程技术问答社区
如何删除 svn 中的"-"文件?
偶然地,我在目录中创建了文件" - "(只是一个负)并提交它. 我必须删除它,因为它会在其他机器上引起错误: SVN:无法将字符串从" UTF-8"转换为本机编码: svn:?\ 226?\ 128?\ 147 i可以使用" RM -I *"或使用Python" OS.Remove('\ Xe2 \ X80 \ X93')将其从本地目录中删除,但是这些方法不适用于" SVN RM". 如何从SVN存储库中删除此类文件? 解决方案 您可以尝试svn rm ./- 它实际上可能不是一个负,而是一个外观相似的角色. 其他解决方案 通常,您需要使用--标记终止命令行选项列表. 尝试svn rm -- -. 之类的东西 相同,如果要从文件系统中删除目录:rm -r -- -. 其他解决方案 尝试svn rm -- - --意思是"停止阅读选项".
14 2024-04-22
编程技术问答社区
Subversion 和跨软件源/项目共享文件?
我将客户端的源安全存储库(3个项目)迁移到SVN,而两个项目共享源文件. (这些项目是独立的产品 - 具有不同的名称和发布版本等) SVN是否解决了这一缺点?人们通常如何处理这种情况? 我知道/可以想到的选项 使用外部或外部或任何其他SVN.我听说这不是一个不错的选择,原因是各种原因 创建一个包含源的新项目(也许称为共享).这样做的问题在于,我们仍然必须获取该代码(不是库)并以某种方式导入项目.它可以证明与上面的问题相同,并且引入了其他产品/项目的开销. 只需在两个存储库中检查文件,然后将它们交叉.这要求开发人员了解共享并记住检查.我想我可以编写一个脚本,该脚本检查所有已知的共享文件并在需要时对其进行更新. 有一个共享两个项目的存储库.这给我留下了一个问题,必须创建一个包含两者的顶级项目/存储库,这是标签的问题.我真的不想标记顶级伪项目. (标签,后备箱和分支事物并不是我想要的.) 我可能会选择最后一个选项. 还有其他评论吗? 解决方
20 2024-04-22
编程技术问答社区
设置工具:从父目录查找 SVN 修订版
在我组合的Python软件包中,我正在使用以下setup.cfg文件: [egg_info] tag_build = dev tag_date = 1 tag_svn_revision = 1 但是,当我运行python setup.py sdist时,SVN修订为-r0.这可能是因为我在设置脚本的地方没有.svn目录.实际上我的树是 main_dir/ .svn/ branches/ trunk/ setup.py setup.cfg 我该如何告诉setuptools在父目录中找到SVN修订号?我仍然想继续使用我的软件包版本编号. 解决方案 如果您愿意安装另一个软件包,则可以以不同的方式解决-r0问题.自版本10以来,Setuptools不支持SVN元数据.该功能已移至 package. 其他解决方案 目前我的解决方案是结合这个答案并手动构建版本(减去) shell=True选项): # Hat tip:
20 2024-04-22
编程技术问答社区
TeamCity | MSBuild | SVN | AssemblyVersion | C#
我目前正在使用MSBUILD +社区任务来更改汇编范围,汇编Fileversion +在assemblyInfo.cs中通过TeamCity进行更改,并且它的工作方式就像魅力:). . 但是,我想将修改后的汇编汇回仓库. 我该怎么做? 我尝试了社区任务的" svncommit "任务,但是在代理商的源头上未签出,似乎直接从TC导出或复制而是(没有.svn文件夹). 我认为这实际上非常酷,但是在这种情况下,我真的希望能够将更新的assemblyInfo.cs文件(+也许是如此自动化的文档)交给repo. 有人找到了一种很好的方法? 善意 Garrett 解决方案 请参阅Restuta的评论:).
20 2024-04-22
编程技术问答社区
SharpSVN用'SvnLookClient'.获得后提交钩。
我试图弄清楚如何获取特定修订的提交消息.看起来Svnlookclient可能是我需要的 我在这里找到了一些代码,所以看起来我需要的是,但我似乎缺少了一些. 我找到的代码(在SO上): using (SvnLookClient cl = new SvnLookClient()) { SvnChangeInfoEventArgs ci; //******what is lookorigin? do I pass the revision here?? cl.GetChangeInfo(ha.LookOrigin, out ci); // ci contains information on the commit e.g. Console.WriteLine(ci.LogMessage); // Has log message foreach (SvnChangeItem i in ci.ChangedPaths)
12 2024-04-21
编程技术问答社区
如何为不同的工作地点改变连接字符串
我正在研究C#4.0,WPF 4.0,SQL 2008项目,并且在家中和办公室工作.根据其他问题中发现的建议,我刚刚使用Visual SVN进行了颠覆.我遇到的问题是每个位置的数据库的连接字符串不同. 在家里,我的DEV系统上有数据库,在办公室中,数据库在我们的服务器上.两者都不会接触到互联网,所以我必须同时使用两者.有没有一种优雅的方式可以自动选择正确的方法? 更新 我一直在遇到持续的问题,并试图将学习版本控制与在项目上完成工作.我一直在阅读《颠覆书》,对它所涵盖的内容很好.我的一个真正问题是处理需要在开发环境之间变化的文件正确.我可以轻松地解决这个问题,但这对我来说似乎有些古怪.我确实看到了一些不止几篇有关SVN的古怪的文章:排除可能是可以的,在我看来,在家中有效的是在工作中造成问题,反之亦然. 也许我只是不知道正确的答案,所以请指出正确的方向(我不需要您为我做)或投票给最好的现有答案,我将继续我的研究. 谢谢 解决方案 如果您真的想完全自动化此
8 2024-04-21
编程技术问答社区
使用Visual Studio 2010和Subversion在两个不同的项目中共享一个CS文件
我们正在从源源到颠覆者作为我们的源控制提供商...到目前为止,一切都很好,除了我可以弄清楚您如何在一个以上项目之间"共享"一个文件.在SourceSafe中,您链接到了文件,然后将其添加到您的项目中,然后Secor Safe知道该文件实际上只是一个文件.您如何与颠覆相等? 解决方案 您可以直接在Visual Studio中添加一个文件直接在Visual Studio中添加文件. 这样做意味着您不必担心源控件将如何管理事情,只要源控件中的引用文件 - 链接由vs. 管理. 其他解决方案 您想在两个项目之间共享一个CS(如代码文件中)吗?从设计方面,为什么不将该文件推送到其自己的项目中,然后从其他项目中引用该项目.
10 2024-04-19
编程技术问答社区
如何查看修订版提交后的修改,并解析其注释?
我希望自动化一些与颠覆有关的任务,所以我得到了SharpSVN.不幸的是,我找不到很多文档. 用户进行新的修订后,我希望能够查看更改 解决方案 如果您只想浏览SharpSvn,则可以使用 http://docs.sharpsvn.net/ .那里的文档远非完整,因为重点主要是提供功能.欢迎对增强文档(或SharpSVN本身)的任何帮助; - ) 要为您的问题跟踪器使用日志消息,您可以使用两条路由: 一次处理后挂钩一次会更改一个挂钩 一个计划的服务,该服务称为" svn log -r :偶尔". SharpSVN的最后每日构建对提交挂钩有所支持,但该部分还不是API稳定. 您可以使用: 创建一个邮政提交挂钩(post-commit.exe) static void Main(string[] args) { SvnHookArguments ha; if (!SvnHookArguments.ParseHookArguments(args,
12 2024-04-19
编程技术问答社区
构建版本与修订号
我有一个ASP.NET/C#应用程序,该应用程序使用subversion进行源控制. 我的应用程序会自动增加其在每个构建中的汇编和汇编文件,就像魅力一样,并在网站的管理侧显示构建号. 我们在部署时会跟踪汇编和汇编费用,但是,当问题出现并且需要回到某个版本时,我们不知道在颠覆中定位哪种修订. 我的想法很少: 在每个文件中保存汇编作为注释 在提交注释中有一个关键字,它被每个提交上的汇编取代(仍然需要弄清楚如何做) 任何帮助和建议将不胜感激 更新: 选项" 1"实际上是一个愚蠢的想法,因为这将意味着每次构建时,所有文件都会被标记为更新,当我提交时,每个文件都会更新 解决方案 当我构建时,我到处都放置该构建数字. 我把它放在我将其放在我构建的每个组件的组装元数据中. 我将其附加到安装程序中的文件名的末尾. 我把它放在每个部署的网页的页脚中. 我把它放在报告的页脚中. 我将其放在客户端应用程序的飞溅屏幕中. 我将其放在安装程序的欢迎屏幕
8 2024-04-19
编程技术问答社区
如何用SVN和.NET以编程方式进行文件版本管理?
我们有一个报告生成器.每天,它将其数据写入Excel文件中. 出于控制和文件数据安全的原因,我们需要更改此文件,并将更改提交为存储库. 您是否建议您使用过任何.NET SVN API? 解决方案 您应该看一下 sharpsvn .net库.您可能需要结帐并提交命令: 检查: string wcPath = "c:\\my working copy"; using (SvnClient client = new SvnClient()) { client.CheckOut(new Uri("http://server/path/to/repos"), wcPath); } 委托: string wcPath = "c:\\my working copy"; SvnCommitArgs a = new SvnCommitArgs(); a.LogMessage = "My log message"; using (SvnClient cli
8 2024-04-19
编程技术问答社区
无法加载文件或程序集'SharpSvn'或它的一个依赖项。有人试图加载一个格式不正确的程序。
我刚刚下载了Sharpsvn的64位版本. " nofollow noreferrer">链接! 运行应用程序时,显示错误消息.我已经搜索了如何解决此问题的网络,但失败了.我尝试了以下解决方案: 将配置管理器设置为x64,如此 post 在此上设置启动配置 还尝试下载x86并将配置管理器设置为x86. 也尝试了一下,添加汇编 link 我正在使用win7,64bit,.net 4.0. 解决方案 解决它. 将我的平台更改为x86 输出路径" bin \" 下载了Sharpsvn(1.7008.2243.14245)的X86 在GAC中添加SharpSvn.dll. 删除bin文件夹并重建解决方案 这是 link 用于说明. 其他解决方案 如果您在尝试访问IIS托管的网站时遇到此错误,则可能需要调整应用程序池中的"启用32位应用程序"设置.请参阅此答案: https://stackoverflow.com/a/a/20525314/1
14 2024-04-18
编程技术问答社区