【问题标题】:How to maintain different repositories for compilation for different users ?如何为不同的用户维护不同的编译库?
【发布时间】:2013-05-22 15:11:02
【问题描述】:

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

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

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

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

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

干杯...

【问题讨论】:

  • 我建议切换到gitgit 更容易
  • 好吧,我能做到!但是 LLVM 的原始主要存储库是 SVN ......所以如果有办法以解决我的问题的方式使用它,我会更喜欢 SVN!
  • @guipy git 也可以做svn git-svn man page
  • 谢谢端庄!但是...如果我使用 Git,我需要修改 LLVM makefile 吗?或者有什么方法可以轻松解决我的问题?

标签: linux svn permissions compilation user-permissions


【解决方案1】:

总之……

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

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

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

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

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

【讨论】:

  • 看起来不错。但是..我需要更改 LLVM 的 makefile,对吗?两个用户使用同一台机器...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-21
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
  • 2021-02-17
  • 1970-01-01
相关资源
最近更新 更多