Rust std::io with all the parts that don't work in core removed.
Go to file
2016-10-11 18:15:44 -07:00
src nightly-2016-10-11 2016-10-11 18:15:44 -07:00
.gitignore sync script + first import 2016-07-08 01:21:28 -07:00
build.rs Select module version based on rustc version 2016-07-08 01:21:34 -07:00
Cargo.toml nightly-2016-07-10 2016-07-10 13:52:31 -07:00
doc.sh Add collections/alloc features 2016-07-10 13:45:57 -07:00
LICENSE-APACHE Add some documentation and copyright info 2016-07-10 13:45:57 -07:00
LICENSE-MIT Add some documentation and copyright info 2016-07-10 13:45:57 -07:00
mapping.rs nightly-2016-10-11 2016-10-11 18:15:44 -07:00
README.md Add some documentation and copyright info 2016-07-10 13:45:57 -07:00
sync.sh sync script + first import 2016-07-08 01:21:28 -07:00

core_io

std::io with all the parts that don't work in core removed.

Adding new nightly versions

First, make sure the commit you want to add is fetch in the git tree at /your/rust/dir/.git. Then, import the right source files:

$ echo FULL_COMMIT_ID ...|GIT_DIR=/your/rust/dir/.git ./sync.sh

Instead of echoing in the commit IDs, you might pipe in rustc-commit-db list-valid.

Now look at the changes with git status. If nothing changed then the commit you tried to add was already there. Otherwise commit all changes and new files now. If only mapping.rs changed, the I/O code has not changed for this particular commit. If a directory in src/ was added, after committing, cd into it to apply the patch.

Find out which previously-existing commit is closest to the new one and search this git repository for a commit with the description Patch COMMIT for core. For example, if you're adding dd56a6ad0845b76509c4f8967e8ca476471ab7e0, the best closest commit is 80d733385aa2ff150a5d6f83ecfe55afc7e19e68.

$ git log --pretty=oneline --grep=80d733385aa2ff150a5d6f83ecfe55afc7e19e68
92fc0ad81c432b5fa3e848fc1892815ca2f55100 Patch 80d733385aa2ff150a5d6f83ecfe55afc7e19e68 for core

The commit ID at the start of the line is the patch we'll try to apply:

$ git show 92fc0ad81c432b5fa3e848fc1892815ca2f55100|patch -p3
$ cargo build

Now, fix any errors cargo reports. If patch also reported errors, you may look at the rejects for inspiration ;).

Finally, commit this new version:

$ git commit -m "Patch dd56a6ad0845b76509c4f8967e8ca476471ab7e0 for core" .

Do not commit any files in different directories, this will break the patching scheme.