6 ms·
> half my commits don't even compile This sounds awful to me. This does not work especially if you are working in a continuous integration environment like Hud
by edem 14y ago
> half my commits don't even compile
This sounds awful to me. This does not work especially if you are working in a continuous integration environment like Hudson or Jenkins.
- lmm 14y agoI suspect I push working commits as often as anyone else - I just make a lot more local commits in between.
- lucian1900 14y agoIt'll still mess up CI, sadly.
- khasinski 14y agoNo, it does not. CI never builds those broken commits because they never go outside of authors personal computer. Commit often, push when it's done and only push commits that work.
- twic 14y agoThe only way they never go outside of the author's personal computer is if the author squashes (or discards!) them before pushing. Otherwise, they will go outside of the author's personal computer. However, they will never be a head outside of the author's personal computer, because they are pushed along with later commits that fix the brokenness. CI only ever builds heads, so the existence of the broken commits doesn't matter.
- khasinski 14y agoYou're right. What I had on my mind writing the previous post - don't push broken commits. :)
- lucian1900 14y agoNot all CI only builds heads. Some build and test all commits.
- gte910h 14y agoWell, then it will mark them fixed in HEAD then
- lmm 14y agoWhy would CI ever run a build of more than one commit sent in the same push? Isn't the push atomic? (Certainly it's worked that way for me in practice).
- drewcrawford 14y agoSuppose you want to know, not just the fact that dev is failing, but why it's failing. The particular commit that caused it to fail.
- npsimons 14y agoConsidering my project uses Jenkins and I commit on a sometimes minute basis (including code that won't build) I'd have to say committing broken code works just fine with Jenkins. Now if you're talking about pushing broken code to something like gerrit, that's another story, and that's just one of many reasons why the article is flat out wrong, because you have to rebase to squash commits into a single patch set before you can push them to something like gerrit, which then runs them by Jenkins.