Hudson pitched six innings, his longest outing of the spring, allowing three runs on six hits, walking none and whiffing three while tossing 78 pitches.
Hudson pitched mostly from the stretch position, hoping to cure himself of the inconsistency he has endured with runners on base.
"It's a timing thing, getting my arm up and letting it get on top of my pitches," Hudson said. "The last couple of innings, it was a little bit better."
Hudson made his fourth start of the spring in his recovery from Jan. 2 surgery to remove bone spurs from his right ankle. The 39-year-old with 214 big league wins in 16 seasons is already projected as a member of the Giants' starting rotation. Prior to the game, he had totaled six innings this spring.
Butler, 24, has only made three big league starts, all of them coming this past season. He was knocked around and had a 6.75 ERA for his effort, posting a 1-1 record. Butler was a long shot to make the Rockies this spring, but he's pitched well and a huge opportunity just arose when the club suddenly released Jhoulys Chacin.
"I feel good," Butler said about his chances of making the Rockies' rotation. "Just trying to control what I can. Go out there and have outings like this is definitely going to help that. For me it's going to be more mental than physical."
On Wednesday, Butler walked none, struck out two and threw 56 pitches, allowing only three hits through the first four innings, one of them Hudson's double in the third inning. He had his only hiccup in the fifth when Brandon Crawford doubled with one out and eventually scored on Nori Aoki's triple.
"Eddie was very efficient," Rockies manager Walt Weiss said. "He had his two-seamer working, had a good changeup, did a nice job."
Butler has now allowed four runs (all earned) and 13 hits in 13 2/3 spring innings.
Giants Up Next: After improving his durability in his previous outing, Tim Lincecum will try to deliver an even longer performance Thursday when the Giants entertain the Oakland A's at 7:05 p.m. PT in Scottsdale, live on MLB.TV. Lincecum worked four innings last Saturday against the Angels, matching his total for his previous three starts. He'd like to last at least five innings against Oakland.