League sources told ESPN the Giants agreed to send the Cubs about $1.8 million to cover a large portion of Holland's remaining salary for this season. San Francisco also agreed to a conditional $500,000 payment for Holland's buyout if the Cubs decline his $6.5 million option for next season.
Holland began the year as the Giants' No. 2 starter in the club's pitching rotation but was switched to the bullpen in May. He has appeared in 31 games this season, posting a 2-4 record with 71 strikeouts and a 5.90 ERA.
The Giants designated the 10-year MLB veteran for assignment Monday after he allowed four earned runs in one inning against the New York Mets on July 20. In his last 10 appearances dating to late June, he posted a 0.68 ERA.
The Cubs designated left-handed pitcher Tim Collins in a corresponding roster move. Chicago also recalled Ian Happ from Triple-A Iowa for Friday night's game against the Milwaukee Brewers.