2013-05-22 60 views
1

我不知道我的問題是否太明顯,太複雜或者是否合理。我試圖找到信息,但無法得到任何答案...如何爲不同的用戶維護不同的存儲庫進行編譯?

我想維護LLVM/Clang的SVN回購爲我的用戶A,反映主要回購...或等效:我想編譯我的程序與用戶A調用clang/llvm並獲取最後版本的工作鏈來編譯我的源代碼。我想能夠更新我的本地回購從某種意義上說,它反映了最新版本的主LLVM回購...

但是,我想爲用戶B維持第二個SVN本地回購,所以當我想要修改LLVM代碼我會在用戶B回購中做。更多...如果我將clang/llvm作爲用戶B調用,它將使用LLVM的修改版本編譯我的源代碼。

簡而言之:我如何爲2個用戶維護2個倉庫,我可以編譯每個用戶,並基於調用clang/llvm的用戶,它將調用正確版本的二進制文件?

感謝您的關注;如果我的問題沒有很好的闡述,我表示歉意,並希望有人能指出我如何改進它!

乾杯......

+1

我建議切換到'git';用'git'更容易# –

+0

嗯,我可以做到!但LLVM最初的主要回購是SVN ...所以我更喜歡SVN,如果有一種方式來解決我的問題的方式使用它! – guipy

+1

@guipy'git'也可以做svn [git-svn man page](https://www.kernel.org/pub/software/scm/git/docs/git-svn.html) – demure

回答

1

總之...

1)如果用戶使用不同的機器:

保持包含工具鏈兩個不同的SVN倉庫。每個用戶將檢出自己的存儲庫並使用「正確」編譯器編譯其代碼。這兩個工具鏈位於相同的目錄中,並且每個用戶只有一個可用的工具鏈。

2)如果用戶共享相同的機器:

保持含有工具鏈兩個不同的SVN庫。這兩個工具鏈位於不同的目錄中,並且可以同時使用。爲suers設置環境變量以指定工具鏈的位置。在Linux上,可以通過在.bashrc中設置變量,然後在Makefile中使用這些變量來完成。

在這兩種情況下,如果可以,切換到git並使用兩個分支而不是兩個存儲庫。

+0

看起來不錯。但是..我需要更改LLVM的makefile,對吧?兩個用戶使用同一臺機器... – guipy

相關問題