Commit 150f307a authored by Junio C Hamano's avatar Junio C Hamano

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.
This is a backward incompatible change but in a good way; it may
still need to be treated carefully.

* ab/fetch-tags-noclobber:
  fetch doc: correct grammar in --force docs
  push doc: add spacing between two words
parents dbc50fd6 73e94796
......@@ -110,7 +110,7 @@ can be overridden by adding an the optional leading `+` to a refspec
is that no amount of forcing will make the `refs/heads/*` namespace
accept a non-commit object. Hooks and configuration can also override
or amend these rules, see e.g. `receive.denyNonFastForwards` in
linkgit:git-config[1] and`pre-receive` and `update` in
linkgit:git-config[1] and `pre-receive` and `update` in
linkgit:githooks[5].
+
Pushing an empty <src> allows you to delete the <dst> ref from the
......
......@@ -45,9 +45,9 @@ rules particular to 'git fetch' are noted below.
+
Until Git version 2.20, and unlike when pushing with
linkgit:git-push[1], any updates to `refs/tags/*` would be accepted
without `+` in the refspec (or `--force`). The receiving promiscuously
without `+` in the refspec (or `--force`). When fetching, we promiscuously
considered all tag updates from a remote to be forced fetches. Since
Git version 2.20, fetching to update `refs/tags/*` work the same way
Git version 2.20, fetching to update `refs/tags/*` works the same way
as when pushing. I.e. any updates will be rejected without `+` in the
refspec (or `--force`).
+
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment