I'm currently re-factoring a part of our application at work. I'm normalising a data structure from a flat list of fields to a parent/child relationship. This has an impact on all layers in the application:
- The database
- Models
- Business logic; and
- The UI
Instead of creating a few massive commits - where each commit compiles - I've decided to break it down into a large number of small commits (accepting that the build will break). Why? So I can rollback/discard my edits quickly.
My plan was to keep the commits local until the whole thing compiled and then sync with the server. However, it's now been two days and I'm not half way yet. So I'm thinking that I should sync my commits in case I lose my work.
Which leads me to the question. Would it have been better to sync the commits on day one? If so, what's the best way to handle the CI server? Just accept that there's a lot of broken builds coming my way?