git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] Documentation/git-push: Explain status output in more detail

From
Thomas Rast <trast@student.ethz.ch>
Date
Jul 24, 2010, 16:03 UTC
Message-ID
<10aba8f15aea6cff0d90ab4fbea023d7187f575c.1279986834.git.trast@student.ethz.ch>
In-Reply-To
<ab7b73ce593846b083bf0f4c4c7de08fb6008a5e.1279986834.git.trast@student.ethz.ch>

Mention the effects of the receive.deny* family of options for the "remote rejected" case. While there, also split up the explanation into an easier-to-parse list format.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---

I considered instead patching receive-pack to have more verbose messages, but decided not to, because it's already very verbose (by git standards anyway) and because a doc update has the advantage of immediately showing up in the kernel.org-hosted copies instead of appearing in two years when hosting providers update their gits.

 Documentation/git-push.txt |   33 +++++++++++++++++++++++----------
 1 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index b68abff..658ff2f 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -200,16 +200,29 @@ summary::
 	For a successfully pushed ref, the summary shows the old and new
 	values of the ref in a form suitable for using as an argument to
 	`git log` (this is `<old>..<new>` in most cases, and
-	`<old>...<new>` for forced non-fast-forward updates). For a
-	failed update, more details are given for the failure.
-	The string `rejected` indicates that git did not try to send the
-	ref at all (typically because it is not a fast-forward). The
-	string `remote rejected` indicates that the remote end refused
-	the update; this rejection is typically caused by a hook on the
-	remote side. The string `remote failure` indicates that the
-	remote end did not report the successful update of the ref
-	(perhaps because of a temporary error on the remote side, a
-	break in the network connection, or other transient error).
+	`<old>...<new>` for forced non-fast-forward updates).
++
+For a failed update, more details are given:
++
+--
+rejected::
+	Git did not try to send the ref at all, typically because it
+	is not a fast-forward and you did not force the update.
+
+remote rejected::
+	The remote end refused the update.  Usually caused by a hook
+	on the remote side, or because the remote repository has one
+	of the following safety options in effect:
+	`receive.denyCurrentBranch` (for pushes to the checked out
+	branch), `receive.denyNonFastForwards` (for forced
+	non-fast-forward updates), `receive.denyDeletes` or
+	`receive.denyDeleteCurrent`.  See linkgit:git-config[1].
+
+remote failure::
+	The remote end did not report the successful update of the ref,
+	perhaps because of a temporary error on the remote side, a
+	break in the network connection, or other transient error.
+--
 
 from::
 	The name of the local ref being pushed, minus its
-- 
1.7.2.278.g76edd.dirty
Previous: Thomas RastNext: Thomas Rast
Message 6 of 7 in “Replacing a Remote Branch”
  1. Eric James Michael RitzJul 23, 2010
  2. Thomas RastJul 23, 2010
  3. Eric James Michael RitzJul 23, 2010
  4. bill lamJul 24, 2010
  5. 1/2 Document receive.denyDeleteCurrentThomas Rast, Jul 24, 2010
  6. 2/2 Documentation/git-push: Explain status output in more detailThomas Rast, Jul 24, 2010
  7. 1/2 Document receive.denyDeleteCurrentThomas Rast, Jul 24, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.