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
This commit is contained in:
commit
150f307afc
@ -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`).
|
||||
+
|
||||
|
Loading…
Reference in New Issue
Block a user