Merge branch 'ab/fetch-tags-noclobber'
commitd39cab3989f9e660cae124f78143369b13ad2901
authorJunio C Hamano <gitster@pobox.com>
Mon, 17 Sep 2018 20:54:00 +0000 (17 13:54 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 17 Sep 2018 20:54:00 +0000 (17 13:54 -0700)
treec7968b5d7ff14c5d4a2207e101a92e17cbbbc964
parent1c515bf7e2b395509a122fb92cd6f925bf09a6fe
parent0bc8d71b99e91c9e90b519073b639a5066119591
Merge branch 'ab/fetch-tags-noclobber'

The rules used by "git push" and "git fetch" to determine if a ref
can or cannot be updated were inconsistent; specifically, fetching
to update existing tags were allowed even though tags are supposed
to be unmoving anchoring points.  "git fetch" was taught to forbid
updates to existing tags without the "--force" option.

* ab/fetch-tags-noclobber:
  fetch: stop clobbering existing tags without --force
  fetch: document local ref updates with/without --force
  push doc: correct lies about how push refspecs work
  push doc: move mention of "tag <tag>" later in the prose
  push doc: remove confusing mention of remote merger
  fetch tests: add a test for clobbering tag behavior
  push tests: use spaces in interpolated string
  push tests: make use of unused $1 in test description
  fetch: change "branch" to "reference" in --force -h output
Documentation/fetch-options.txt
builtin/fetch.c
t/t5516-fetch-push.sh
t/t5612-clone-refspec.sh