Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVN:平台相关外部,可能吗?_Svn - Fatal编程技术网

SVN:平台相关外部,可能吗?

SVN:平台相关外部,可能吗?,svn,Svn,我有一些我想在Windows和Linux平台上构建的代码。要构建的工具也在SVN中,并使用externals链接到主存储库中 目前的结构是: Top -+- Tools -+- Linux (external) | | | +- Windows (external) | +- Other Directories 我可以设置系统,在这两个平台上签出Windows和Linux工具,但是我更喜欢只在Linux上签出Linux工具

我有一些我想在Windows和Linux平台上构建的代码。要构建的工具也在SVN中,并使用externals链接到主存储库中

目前的结构是:

Top -+- Tools -+- Linux (external)
     |         |
     |         +- Windows (external)
     |
     +- Other Directories
我可以设置系统,在这两个平台上签出Windows和Linux工具,但是我更喜欢只在Linux上签出Linux工具,而只在Windows上签出Windows工具。 理想情况下,我会有一个外部工具(称为工具),其中Linux工具将在Linux上签出,Windows工具将在Windows上签出,以保持两个平台上的开发环境相同

Top -+- Tools (external, pointing to Linux or Windows repo)
     |
     +- Other Directories
这可能吗?我试图找到解决办法,但我觉得这是不可能的,对吗

问候,,
Johan

我怀疑SVN是否有这个选项,但您可以用HTTP服务器模拟它

假设存储库的结构是

Top -+- Linux
     |
     +- Windows
然后,您可以使用Apache中的Redirect指令将对Top->Tools的访问重定向到这两个工具中的任何一个,具体取决于HTTP请求来自的操作系统

最好的,
Guido

Subversion提供了对签出项目的完全控制,但您可能需要编写shell脚本,这样就不必每次都键入完整的命令。不幸的是,SVN不支持对存储库中的内容进行重定向。唯一可行的方法是,如果你有两个不同的存储库,一个用于Linux,另一个用于Windows,并且基于你的东西(UserAgent或IP),你可以了解操作系统。谢谢你的建议。我喜欢Apache解决方案,但是我没有访问web服务器的权限。我决定使用我的makefile来实现这一点:基于我运行的平台,我签出Linux或Windows存储库。