1# core_io 2 3`std::io` with all the parts that don't work in core removed. 4 5## Adding new nightly versions 6 7First, make sure the commit you want to add is fetch in the git tree at 8`/your/rust/dir/.git`. Then, import the right source files: 9 10``` 11$ echo FULL_COMMIT_ID ...|GIT_DIR=/your/rust/dir/.git ./build-src.sh 12``` 13 14Instead of echoing in the commit IDs, you might pipe in `rustc-commit-db 15list-valid`. 16 17The build-src script will prompt you to create patches for new commits. You 18will be dropped in a shell prompt with a temporary new, clean, git repository 19just for this patch. Make any changes necessary to make it build. **Don't** 20commit any changes! When exiting the shell and the script will use the working 21tree diff as the patch. The temporary git repository will be deleted. Before 22dropping into the shell, the script will show you nearby commits, you can try 23to apply `$PATCH_DIR/that_commit.patch` and see if it works for you. 24 25## Publishing 26 27``` 28$ echo FULL_COMMIT_ID ...|GIT_DIR=/your/rust/dir/.git ./build-src.sh publish 29``` 30 31Again, instead of echoing in the commit IDs, you might pipe in `rustc-commit-db 32list-valid`. 33 34## Editing patches 35 36To edit all patches, again make a checkout of the rust source. Then, run: 37 38``` 39$ GIT_DIR=/your/rust/dir/.git ./edit-patches.sh 40``` 41 42The script will prompt you to make changes. You will be dropped in a shell 43prompt with a temporary new, clean, git repository just for this patch edit. 44The original patch will be the HEAD commit in the repository. Make any changes 45you want. **Don't** commit any changes! When exiting the shell and the script 46will use the diff between the working tree and the root commit as the patch. 47The temporary git repository will be deleted. When editing further commits, the 48previous patch changes will already be applied to the working tree (if 49succesful). 50