India has pledged to buy 8m garments from Bangladesh each year after the two companies signed an agreement as part of moves to deepen the economic partnership between the two countries.