Jeremy D. Miller -- The Shade Tree Developer

Sponsors

The Lounge

Syndication

News

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Jeremy's First Law of Continuous Integration

If you check in very often and/or first, you can make merge conflicts be someone else's problem


Posted Mon, Sep 22 2008 3:31 PM by Jeremy D. Miller

[Advertisement]

Comments

Paul Davis wrote re: Jeremy's First Law of Continuous Integration
on Mon, Sep 22 2008 4:26 PM

Jeremy, you've stolen my quote  ;-)

Actually, whenever I'm asked how do I deal with merge conflicts, the answer is always, "checkin before the other guy".

Jimmy Bogard wrote re: Jeremy's First Law of Continuous Integration
on Mon, Sep 22 2008 5:04 PM

That's why when anyone ever asks, "is anyone integrating", my answer is always, "yes, me"

Tom wrote re: Jeremy's First Law of Continuous Integration
on Mon, Sep 22 2008 5:07 PM

But, if you are the one doing merge conflict resolution, it means that your code can always trump the conflicting code

Jeremy D. Miller wrote re: Jeremy's First Law of Continuous Integration
on Mon, Sep 22 2008 5:14 PM

@Tom,

I don't know about you, but when I'm merging conflicts, all I want is for the dadgum thing to work so I can check in

Mark Nijhof wrote re: Jeremy's First Law of Continuous Integration
on Mon, Sep 22 2008 5:35 PM

Hehe just revert the other ones changes, if it happens you are not fast enough ;)

Jeremy Gray wrote re: Jeremy's First Law of Continuous Integration
on Mon, Sep 22 2008 5:45 PM

"But, if you are the one doing merge conflict resolution, it means that your code can always trump the conflicting code"

Yes, but it also means that you are the one having to deal with a larger delta.

In the last few environments in which I've worked, we've even gone as far as to describe committing first as "winning". The desire to "win" by committing first needs to be tempered with good practices, a retained requirement to meet all pre-commit criteria, etc., of course, but I have found that encouraging people to "win" creates a healthy feeling of competition where people end up competing to see who can do better work decomposition (so they can commit sooner) which often effectively translates into competing to see who can produce better-designed code. It really can be a "win" for everyone, if guided with a degree of care to keep things balanced (I want everyone to compete in a healthy way, not to rush, for example.)

alberto wrote re: Jeremy's First Law of Continuous Integration
on Mon, Sep 22 2008 5:46 PM

And that is one big pink elephant in the room no one seems to talk about in the alt.net.

David Starr wrote re: Jeremy's First Law of Continuous Integration
on Mon, Sep 22 2008 6:41 PM

Um...

Why is the elephant pink?

Seriously, though. I don't know that I believe in "healthy competition" within a single team anymore. It may be fun for 2 guys to play with each other over a particular issue like this, but an ongoing behavior of "gotcha" is detrimental to the overall team, in my experience.

Max Pool wrote re: Jeremy's First Law of Continuous Integration
on Mon, Sep 22 2008 6:55 PM

ROFL -

Max's First Rule of CI Club...Don't Talk About Merging...Second rule of CI Club - DON'T TALK ABOUT MERGING!

Jeremy Gray wrote re: Jeremy's First Law of Continuous Integration
on Mon, Sep 22 2008 8:23 PM

@David - then I think you missed my points about  keeping things "tempered with good practices, a retained requirement to meet all pre-commit criteria" and competing "in a healthy way". Obviously, even then this isn't blindly applicable to all personality types and/or in all environments, but I would hope that I need not make that explicit given that ANYTHING to do with ANY software development process is highly dependent on the environment under consideration.

On a random but related note, anyone working in an environment where they think that this _wouldn't_ work should probably take a long, hard look at the people and processes around them. I suspect you'd find that there are much larger problems lurking. As should seem obvious in hindsight, the possibility of healthy competition in your environment is almost entirely dependent on the existing health of your environment.

Jeremy D. Miller -- The Shade Tree Developer wrote Jeremy's Other Laws of Continuous Integration
on Mon, Sep 22 2008 8:54 PM

Since the first one inevitably irritated people, let's go for rule #2 & #3: 2.) Check in as often

Dave Laribee wrote Laribee's Final Law of Continuous Integration
on Mon, Sep 22 2008 9:04 PM

Seeing that DJ Miller is spinning up some amusing-but-true laws of continuous integration , I'm gonna

Community Blogs wrote Jeremy's Other Laws of Continuous Integration
on Mon, Sep 22 2008 9:15 PM

Since the first one inevitably irritated people, let's go for rule #2 & #3: 2.) Check in as often

Mirrored Blogs wrote Laribee's Final Law of Continuous Integration
on Mon, Sep 22 2008 9:53 PM

Seeing that DJ Miller is spinning up some amusing-but-true laws of continuous integration , I'm gonna

Mirrored Blogs wrote Jeremy's Other Laws of Continuous Integration
on Mon, Sep 22 2008 9:53 PM

Since the first one inevitably irritated people, let's go for rule #2 & #3: 2.) Check in as often

Community Blogs wrote Laribee's Final Law of Continuous Integration
on Mon, Sep 22 2008 10:01 PM

Seeing that DJ Miller is spinning up some amusing-but-true laws of continuous integration , I'm gonna

JC Grubbs wrote re: Jeremy's First Law of Continuous Integration
on Tue, Sep 23 2008 12:30 AM

Oh so true...and a daily favorite of mine ;)  I haven't seen a merge tool in months...good luck sucka's

Reflective Perspective - Chris Alcock » The Morning Brew #185 wrote Reflective Perspective - Chris Alcock » The Morning Brew #185
on Tue, Sep 23 2008 2:49 AM

Pingback from  Reflective Perspective - Chris Alcock  » The Morning Brew #185

Dew Drop - September 23, 2008 | Alvin Ashcraft's Morning Dew wrote Dew Drop - September 23, 2008 | Alvin Ashcraft's Morning Dew
on Tue, Sep 23 2008 3:23 PM

Pingback from  Dew Drop - September 23, 2008 | Alvin Ashcraft's Morning Dew

Jeremy’s Other Laws of Continuous Integration - taccato! trend tracker, cool hunting, new business ideas wrote Jeremy’s Other Laws of Continuous Integration - taccato! trend tracker, cool hunting, new business ideas
on Mon, Oct 6 2008 5:06 PM

Pingback from  Jeremy’s Other Laws of Continuous Integration - taccato! trend tracker, cool hunting, new business ideas

Laribee’s Final Law of Continuous Integration - taccato! trend tracker, cool hunting, new business ideas wrote Laribee’s Final Law of Continuous Integration - taccato! trend tracker, cool hunting, new business ideas
on Mon, Oct 6 2008 5:06 PM

Pingback from  Laribee’s Final Law of Continuous Integration - taccato! trend tracker, cool hunting, new business ideas

World of .NET show wrote Podcast #4 - Continuous Integration and FireBug
on Wed, Oct 15 2008 12:19 AM

Podcast #4 - Continuous Integration and FireBug

World of .NET wrote Podcast #4 - Continuous Integration and FireBug
on Thu, Apr 9 2009 12:41 AM

Podcast #4 - Continuous Integration and FireBug

Add a Comment

(required)  
(optional)
(required)  
Remember Me?