chip8-rust / chip8-ui

CHIP-8 graphical emulator built with the Rust programing language
MIT License
8 stars 0 forks source link

Split `chip8_vm` into its own repository #22

Closed robo9k closed 9 years ago

robo9k commented 9 years ago

Given that chip8_vm is intended to work as a standalone crate for 3rd party projects, it should be split from this repo (chip8_ui) in the long term.

Having both projects in one repository has some advantages:

However having each project in its own repository has its own advantages:

In #3 you (@jakerr) said you'd prefer to avoid the overhead for now, but I think it's negligible. I would offer to do the split (assuming sufficient privileges on the organization) as well as fixing up CI for both repositories.

I'd like to hear your opinion on this as well as additions to the pros-and-cons list :coffee:

jakerr commented 9 years ago

Yeah I think you're right :)

The main concern I had when we first started the split was that I didn't want to deal with submodules and pushes to chip8_ui where the dependent commit it it's chip8_vm submodule hadn't been submitted yet etc. but come to think of it, we have Cargo. We don't need a submodule relationship at all!

The other thing I really want is to preserve the git history in a sensible way. I have a local repo where I've split out chip8_vm while maintaining it's history before the split to a separate directory (rebased onto 6577a02bfb0a83a1b51fbdedab564d8e513e26fe, which was right before a7a355514027fca6ee64f885c3e5baae34c9714d). I'll push that to a new repo so you can take a look. I wanted to give an exact script of the commands I used to re-write history but lost my shell history in the middle, but I hope it's pretty self explanatory.

jakerr commented 9 years ago

The fork is created now, see https://github.com/chip8-rust/chip8-vm

Note that since it was forked you can easily add it as a remote to your chip8-rust repo and migrate any local branches you might have by rebasing them.

e.g.

> git remote add vm https://github.com/chip8-rust/chip8-vm.git
> git rebase --onto vm/master my_feature_start my_feature

Where my_feature_start is the commit where diverging from origin/master assuming this repo is origin. I already rebased new-io for you, but was less sure about appveyor. I'll leave that to you :)

I also added a new encrypted key for gh-pages commits since the encryption is repo-specific. Just a bit more cleanup to go updating readmes etc.

jakerr commented 9 years ago

This repo was renamed to chip8-ui as part of this.

jakerr commented 9 years ago

Published https://crates.io/crates/chip8_vm/0.0.3 so crate meta is up to date as well.

robo9k commented 9 years ago

As I did not see any missing changes upon first glance, I went ahead and merged your pull request.

Thanks for rebasing the new new-io branch and the detailed instructions, I'll give the appveyor branch a try lateron.

I saw you've also renamed chip8-rust/chip8-rust to chip8-rust/chip8-ui, which I forgot to suggest, so more bonus points for you :cake:

There's a slight problem with the Travis CI/GitHub Pages setup (same as before), but I'd rather not discuss that here in public.