Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upStart using subtrees for external dependencies #26042
Conversation
alexcrichton
added some commits
Jun 5, 2015
rust-highfive
assigned
huonw
Jun 5, 2015
This comment has been minimized.
This comment has been minimized.
|
r? @huonw (rust_highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
|
r? @brson |
rust-highfive
assigned
brson
and unassigned
huonw
Jun 5, 2015
This comment has been minimized.
This comment has been minimized.
|
I want to think about this pretty hard if we're going to adopt sub_trees_ in addition to our sub_modules_. We've already got a lot of experience with submodules. Adding yet another thing for maintainers to understand is a big step. |
This comment has been minimized.
This comment has been minimized.
|
The |
This comment has been minimized.
This comment has been minimized.
|
I agree with @brson about using both submodules and subtrees, even if development isn't supposed to happen in the rust tree itself. |
This comment has been minimized.
This comment has been minimized.
|
@brson, do you have some specific concerns you're worried about? From what I understand, the benefits are:
The downsides being
I feel that the benefit of not having to worry about the remote repository going away far outweighs the downsides, personally. I forgot about that. |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
Hm ok, we don't have a great way to deal with platform-specific dependencies right now as part of the build system, so moving to an out-of-tree term will likely not happen just yet. I'm also losing a bit of steam for this change as the future prospects don't seem super great, so for now I'm going to close this. |
alexcrichton commentedJun 5, 2015
This commit removes the in-tree copies of lib{term,rustc_serialize,getopts} in favor of the upstream versions in the rust-lang github organization. The purpose of this is to both reduce duplication of code as well as enabling easier addition of external dependencies into the build of the compiler itself. There are a few points of note here:
src/externalfolder. This folder has a README explaining the git subtree setup as well as how to add new crates and update existing ones.#![staged_api]attribute guarded by therust_buildcfg.serializehas been purged as all crates now just explicitly link torustc_serialize.cc the initial discussion thread about this topic.