These are chat archives for boostorg/hana

10th
Dec 2015
Louis Dionne
@ldionne
Dec 10 2015 18:26
@MaikKlein To find the compile-time bottlenecks in your code, first isolate the TUs that are problematic. Then, what I usually do is simply comment out instantiations and compile over and over with time clang++ ….
Also, I just found out about ccache. It caches files between compilations, and it’s really awesome (from what I can see so far).
Jason Rice
@ricejasonf
Dec 10 2015 20:09
@ldionne I'm not sure if manual intervention is required for Travis to include my third commit and cancel the builds for the second commit.
I keep getting "There was an error while loading data, please try again" on the linked status page.
Louis Dionne
@ldionne
Dec 10 2015 20:10
@ricejasonf It will automatically test any new commit that you push, and you can just leave it do its job on the current commits, even though that’s not strictly required.
Which status page?
Louis Dionne
@ldionne
Dec 10 2015 20:12
I can see the jobs just fine.
jobs.tiff
Jason Rice
@ricejasonf
Dec 10 2015 20:16
same link and everything... weird but nbd
Jason Rice
@ricejasonf
Dec 10 2015 22:57
@ldionne It says some checks were not successful. I still see the error page on travis. :scream:
Louis Dionne
@ldionne
Dec 10 2015 23:04
@ricejasonf It’s fine, it was just a timeout when downloading Boost. I restarted that job.
@ricejasonf Would you mind squashing these commits together, and then push —forceing to update the PR?
Otherwise, I can just squash it myself; you decide.
Jason Rice
@ricejasonf
Dec 10 2015 23:08
I would like to do it
..once I figure it out :P
Louis Dionne
@ldionne
Dec 10 2015 23:29

The following should work. Execute the commands one by one, and make sure it makes sense at each step, because I haven't proofread the steps and I don't want to delete your whole hard drive:

git checkout the-name-of-your-branch
# make sure your working directory is clean
git rebase -i HEAD~3

A file should pop-up in your default editor. Follow the instructions written in that file. Basically, you should put squash instead of pick in front of your 2 last commits. Once you're done, save it and close it. The rebase should take place, and you'll be asked to edit the commit message of the squashed commit; do it. Normally, you'll be left with a single commit containing the changes of your 3 current commits, and with the commit message that you'll have chosen. Now, you can push --force your new commit to your branch, overwriting the 3 previous commits:

git push --force

Again, take these steps with a grain of salt.

@ricejasonf Ah, I just saw that you already did it. Cool, seems like you figured it out.
Ok, so now we have a single logical commit. If I merged this, the history would make sense; there would be a single commit showing you added this feature, and not showing too much of the sausage making (the 3 patches on which I commented and which you improved).
Jason Rice
@ricejasonf
Dec 10 2015 23:33
I did this
git reset --soft HEAD~3 && git commit
Louis Dionne
@ldionne
Dec 10 2015 23:33
Oh, I guess it works too. But do check git rebase —interactive out, it’s wonderful.
Jason Rice
@ricejasonf
Dec 10 2015 23:37
I should probably get more organized with my own project instead of grinding wip commits into master all of the time.
Louis Dionne
@ldionne
Dec 10 2015 23:38
As you can see with Hana, I personally enforce a fairly strict discipline w.r.t. my Git usage, even when I am working alone on a project. At first it was a bit daunting, but now I’ve got my workflow and it’s really fast. I also find it much easier to search through my commit history and stuff like that, because the history makes sense.