One thing I've found that helps to resist munching on Christmas food before Christmas is to get it out of sight!!! Stash it in a box and shove it in the bottom of the wardrobe or under the bed - anywhere where you have to go to an effort to get at it.
Sure, I know that it means you've got to go to that effort to add to your food stash but you tend not to want to snack on it as much when you think "I've got to go and dig that Christmas pud out before I can eat it" - Same with all the frozen stuff, simply empty the freezer right out and place the turkey etc right at the bottom/back then put all the other stuff back in afterwards. That has the added advantage of if you overbought food and have to throw out or eat, you are getting rid of the older foods as opposed to what you've just bought.
Sure, I know that it means you've got to go to that effort to add to your food stash but you tend not to want to snack on it as much when you think "I've got to go and dig that Christmas pud out before I can eat it" - Same with all the frozen stuff, simply empty the freezer right out and place the turkey etc right at the bottom/back then put all the other stuff back in afterwards. That has the added advantage of if you overbought food and have to throw out or eat, you are getting rid of the older foods as opposed to what you've just bought.