1

我不知道我的问题是否太明显、太复杂或者是否有道理。我试图查找信息,但无法得到任何答案...

我想为我的用户 A 维护一个 LLVM/Clang 的 SVN 存储库,它反映了主存储库……或等效的:我想用用户 A 调用 clang/llvm 来编译我的程序,并获得工具链的最新版本来编译我的源代码。我希望能够在某种意义上更新我的本地存储库,它反映了主 LLVM 存储库的最新版本......

但是,我想为用户 B 维护第二个 SVN 本地存储库,所以当我想修改 LLVM 代码时,我将在用户 B 存储库中进行。还有更多……如果我以用户 B 的身份调用 clang/llvm,它将使用 LLVM 的修改版本编译我的源代码。

简而言之:我如何为 2 个用户维护 2 个存储库,我可以编译每个存储库,并且基于调用 clang/llvm 的用户,它将调用正确版本的二进制文件?

感谢关注;如果我的问题没有很好地表达,我很抱歉,希望有人能指出我如何改进它!

干杯...

4

1 回答 1

1

简而言之...

1)如果用户使用不同的机器:

保留两个包含工具链的不同 SVN 存储库。每个用户都将签出自己的存储库并使用“正确的”编译器来编译其代码。这两个工具链位于相同的目录中,每个用户只有一个可用的工具链。

2)如果用户共享同一台机器:

保留两个包含工具链的不同 SVN 存储库。这两个工具链位于不同的目录中并且同时可用。为用户设置环境变量以指定工具链所在的位置。在 Linux 上,可以通过在 .bashrc 中设置变量,然后在 Makefile 中使用这些变量来完成。

在这两种情况下,如果可以的话,切换到 git 并使用两个分支而不是两个存储库。

于 2013-05-22T15:24:10.317 回答