使用 Visual SVN 和 svn:externals 在本地生成一份外部项目副本
我们使用 Visual SVN 进行源代码控制。我们有多个引用类库项目的解决方案。每个解决方案都使用 svn:externals 来引用类库,以便当在 VS2010 中打开解决方案时,我们可以使用 svn(由于缺乏更好的词)“链接”对类库项目进行更改。
假设我有两个解决方案,解决方案 A 和解决方案 B。每个解决方案都使用 svn:externals 引用类库 C。
假设我在解决方案 A 中对类库 C 进行了更改。为了获得解决方案 B 中的更改以便我可以测试两者,我首先必须将更改提交到 SVN,然后更新解决方案 B。
有没有办法设置此这样:
1)我的开发计算机上只有一份类库 C 项目的副本
和/或
2)设置此场景,以便我不必提交到 svn 来测试解决方案 B ?
在完全测试所有解决方案之前,我不想必须承诺使用 svn。
您如何处理这种情况?
We're using Visual SVN for source control. We've got multiple solutions that reference a class library project. Each of the solutions uses svn:externals to reference the class library so that when the solution is opened in VS2010, we can make changes to the class library project with the svn (for lack of a better word) 'link'.
Say I have two solutions, solution A and solution B. Each of them reference class library C using svn:externals.
Say I make changes to class library C in solution A. In order to get the changes in solution B so that I can test both, I first have to commit the changes to SVN and then update solution B.
Is there a way to set this up so that:
1) I only have one copy of the class library C project on my development machine
and/or
2) Set this scenario up so that I don't have to commit to svn in order to test solution B ?
I don't want to have to commit to svn before I have fully tested all the solutions.
How do you handle this scenario?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这将是一种有点 hacky 的方式,但您可以将除一个“external-lib”目录之外的所有目录符号链接到一个位置:
This will be somewhat hacky way, but you can symlink all but one "external-lib" directory to a single location:
如果您有类库 C 的单独解决方案/项目,则可以通过使用添加项目并浏览到类库 C 项目的位置,在类库 A 和类库 B 的解决方案中引用它。
这样,您的 C 库项目仅存在于一个位置,并且当您的 A 或 B 解决方案获得焦点时,将自动检测到在其中编辑时所做的任何更改。
If you have a seperate solution/project for class library C you can the reference it within your solution for class library A and class library B by using Add project and browsing to the location of the Class library C project.
That way your C library project only exists in one location and any changes made when editing in it will be automatically detected by when your A or B solution takes focus.