I decided to update core via git, mostly by following the approach explained here.
I did this (in my local repo, dev branch):
git remote add core git://drupalcode.org/project/drupal.git git fetch core git merge 7.21 (resolved few conflicts) git commit --amend drush updatedb
I did this for the sake of making it easy to update core in the future, as proposed:
git fetch core git merge [new commit hash]
Am I adding too much to my project by fetching all core history, or is this needed? I am interested only in updating core in my existing project.
If so, can I get rid of the core history?
Can I in next core update fetch only by tag?