有没有办法在.NET程序集的版本字符串中包含SVN存储库修订号?像Major.Minor.SVNRev这样的东西
我已经看到提到用CC.NET这样的东西(尽管实际上是在ASP.NET上),但有没有办法在没有任何额外软件的情况下做到这一点?在使用构建批处理脚本之前,我在C/C++中做了类似的事情,但是通过读取版本号来完成,然后让脚本每次都写出一个名为"ver.h"的文件,其效果如下:
#define MAJORVER 4
#define MINORVER 23
#define SOURCEVER 965
Run Code Online (Sandbox Code Playgroud)
然后我们将使用这些定义来生成版本字符串.
这样的.NET可能吗?
我正在将客户端的SourceSafe存储库(3个项目)迁移到SVN,其中两个项目共享源文件.(这些项目是单独的产品 - 具有不同的名称和发布版本等)
SVN解决了这个缺点吗?人们通常如何处理这种情况?
我知道/可以想到的选项
使用外部或外部或任何SVN.我听说由于各种原因这不是一个好的选择
创建一个包含源的新项目(可能称为共享).这个问题是我们仍然需要获取该代码(它不是一个库)并以某种方式将其导入项目中.可以证明它与上面的问题相同,并且它引入了额外产品/项目的开销.
只需签入两个存储库中的文件并交叉更新它们即可.这需要开发人员了解共享并记住签入.我想我可以编写一个脚本来检查所有已知的共享文件,并在需要时更新它们.
为共享的两个项目提供一个存储库.这让我不得不创建一个包含两者的顶级项目/存储库的问题,这是标记的问题.我真的不想标记顶部的伪项目.(标签,行李箱和分支机构并不是我想要它们的地方.)
我可能会选择最后一个选项.
还有其他意见吗?
我希望我的网站保持版本控制(特别是Subversion)并svn co在有稳定版本更新时使用更新它,但是我担心这样做的安全性,因为所有.svn文件夹都是公开的,这些包括各种私人数据,其中至少是我网站的完整源代码!
我有什么办法可以防止这种情况发生吗?
如何搜索命名的文件foo.txt是否曾提交到我的svn存储库(在任何修订版中)?
我们的项目中有一些文件无法合并,因此在编辑之前必须由用户锁定文件.有没有办法强制用户在编辑之前锁定文件?
我们正在使用Subversion和TortoiseSVN/VisualSVN.
我正在尝试将开发分支重新集成到我的Subversion 1.5存储库中的主干中.在此操作之前,我将所有更改从主干合并到开发分支.现在当我尝试从分支重新集成更改时,我收到以下错误消息:
Command: Reintegrate merge https://dev/svn/branches/devel into C:\trunk
Error: Reintegrate can only be used if revisions 280 through 325 were previously
Error: merged from https://dev/svn/trunk to the reintegrate
Error: source, but this is not the case:
Error: branches/devel/images/test
Error: Missing ranges: /trunk/images/test:280-324
...
Run Code Online (Sandbox Code Playgroud)
然后该消息继续抱怨我的项目中的一些文件夹.但是当我尝试将更改从主干再次合并到开发分支时,TortoiseSVN告诉我没有什么可以合并(因为我之前已经合并了所有更改):
Command: Merging revisions 1-HEAD of https://dev/svn/trunk into C:\devel, respecting ancestry
Completed: C:\devel
Run Code Online (Sandbox Code Playgroud)
我正在尝试按照这里的说明:http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html,但没有解决这样的问题.
有任何想法吗?也许我应该删除主干然后复制我的分支?但我不确定它是否安全.
SCM和SVN有什么区别?git与mercurial的不同之处是什么?
每当我尝试与SVN服务器交互时,ubuntu会提示我输入'(null)'密钥环的密码.我没有一个叫做这个的密钥环,所以我假设某些代码实际上遇到了一个空值.我甚至没有设置任何密钥环,所以我不知道为什么我得到提示.我已经输入了我用过的所有密码,但是没有任何效果.
我怎样才能得到它(a)钥匙圈工作或(b)svn停止要求它?
我已经尝试设置我的〜/ .subversion/config来显式使用gnome-keyring,我试过'store-auth-creds = no'并且都不起作用.
我正在尝试将我的svn repo转换为git,但我没有取得多大成功.有问题的存储库没有像"主干"那样的东西.布局如下:
/home/svn/
|--- /project1/
|--- /project2/
|--- /repos/project3/
这些项目文件夹下面是文件.没有树干,没有树枝,没有什么特别的.当时我需要的只是,现在它正在咬我的屁股.
我正在遵循这个指南:http://john.albin.net/git/convert-subversion-to-git
当我运行此命令时:
git svn clone svn+ssh://skerit@host.com/home/svn/repos/kiflea --no-metadata -A authors-transform.txt --stdlayout ~/kiflea
Run Code Online (Sandbox Code Playgroud)
它说它已经创建了一个空的git存储库...但我真的不希望它是空的.
我也不知道以下命令应该是什么样子,因为我的存储库有不同的布局.
像git symbolic-ref HEAD refs/heads/trunk或的命令git config remote.bare.push 'refs/remotes/*:refs/heads/*'
Gerrit很有用,但它只适用于git.我想设置类似的东西,但是用于颠覆.有没有软件做这个工作?