Skip to content
This repository has been archived by the owner on Dec 9, 2018. It is now read-only.

Rebase steed on top of rust/libstd #151

Open
anatol opened this issue May 9, 2017 · 2 comments
Open

Rebase steed on top of rust/libstd #151

anatol opened this issue May 9, 2017 · 2 comments

Comments

@anatol
Copy link
Contributor

anatol commented May 9, 2017

Currently steed source tree is based on some mix of rust's libstd sources manually handpicked at different periods of time. Copying files one-by-one and maintaining tree up-to-date consumes time. There were several breakages recently that required copying changes from Rust master branch to steed.

In instead of maintaining source parity this way I propose to rebase steed changes on top of libstd. I tried to make a proof-of-concept, extracted libstd out of rust master branch, moved some changes from steed and I was able to compile static "hello world" example successfully. It works great.

Here is a git command that extracts libstd from Rust sources:
git filter-branch --prune-empty --subdirectory-filter src/libstd && git filter-branch -f --tree-filter 'mkdir -p src; mv * src; mv src/Cargo.toml .; true'

Developing steed on top of upstream libstd has following advantages:

  • bringing upstream changes simplified and becomes automatic
  • it is much easier to see delta between upstream libstd and steed. Keeping this delta small will help in the future when merging libc-less support back to upstream
@tbu-
Copy link
Collaborator

tbu- commented May 10, 2017

becomes automatic

Will still have merge conflicts.

I fear that we lose the benefits of VCS when we do this.

@anatol
Copy link
Contributor Author

anatol commented May 10, 2017

If both upstream and steed modifies the same code then yes there will be a merge conflict that needs to be resolved. Using git will help to identify such conflicting changes easily. But most of the upstream changes are non-conflicting and git will merge them automatically.

I fear that we lose the benefits of VCS when we do this.

I am not following this sentence. I actually propose to use git to do merges for us instead of bringing upstream changes by copy-pasting in an editor (like it is done now).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants