A 20-year-old man has pleaded guilty to a one punch attack outside an eastern suburbs pub on Christmas Day.