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

[PATCH 6/7] sha1_name: prepare to introduce AT_KIND_PUSH

From
Ramkumar Ramachandra <artagnon@gmail.com>
Date
May 23, 2013, 15:12 UTC
Message-ID
<1369321970-7759-7-git-send-email-artagnon@gmail.com>
In-Reply-To
<1369321970-7759-1-git-send-email-artagnon@gmail.com>

Introduce an AT_KIND_PUSH to be represented as "@{p[ush]}". Determine it using branch.remote.push_refspec.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
---
 sha1_name.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/sha1_name.c b/sha1_name.c
index 106716e..5f6958b 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -23,7 +23,7 @@ struct disambiguate_state {
 	unsigned always_call_fn:1;
 };
 
-#define AT_KIND_UPSTREAM 0
+enum at_kind { AT_KIND_UPSTREAM, AT_KIND_PUSH };
 
 static void update_candidates(struct disambiguate_state *ds, const unsigned char *current)
 {
@@ -426,7 +426,8 @@ static inline int at_mark(const char *string, int len, int *kind)
 		int kind;
 		const char *suffix[2];
 	} at_form[] = {
-		{ AT_KIND_UPSTREAM, { "@{upstream}", "@{u}" } }
+		{ AT_KIND_UPSTREAM, { "@{upstream}", "@{u}" } },
+		{ AT_KIND_PUSH, { "@{push}", "@{p}" } }
 	};
 
 	for (j = 0; j < ARRAY_SIZE(at_form); j++) {
@@ -1022,6 +1023,12 @@ static void die_no_upstream(struct branch *upstream, char *name) {
  *   given buf and returns the number of characters parsed if
  *   successful.
  *
+ * - "<branch>@{push}" finds the name of the ref that
+ *   <branch> is configured to push to (missing <branch> defaults
+ *   to the current branch), and places the name of the branch in the
+ *   given buf and returns the number of characters parsed if
+ *   successful.
+ *
  * If the input is not of the accepted format, it returns a negative
  * number to signal an error.
  *
@@ -1077,6 +1084,8 @@ int interpret_branch_name(const char *name, struct strbuf *buf)
 		free(cp);
 		cp = shorten_unambiguous_ref(branch->merge[0]->dst, 0);
 		break;
+	case AT_KIND_PUSH:
+		break;
 	}
 
 	strbuf_reset(buf);
-- 
1.8.3.rc3.17.gd95ec6c.dirty
Previous: Ramkumar RamachandraNext: Felipe Contreras
Message 7 of 17 in “Let's get that @{push}!”
  1. 0/7 Let's get that @{push}!Ramkumar Ramachandra, May 23, 2013
  2. 1/7 sha1_name: abstract upstream_mark() logicRamkumar Ramachandra, May 23, 2013
  3. 2/7 sha1_name: factor out die_no_upstream()Ramkumar Ramachandra, May 23, 2013
  4. 3/7 sha1_name: remove upstream_mark()Ramkumar Ramachandra, May 23, 2013
  5. 4/7 remote: expose parse_push_refspec()Ramkumar Ramachandra, May 23, 2013
  6. 5/7 remote: expose get_ref_match()Ramkumar Ramachandra, May 23, 2013
  7. 6/7 sha1_name: prepare to introduce AT_KIND_PUSHRamkumar Ramachandra, May 23, 2013
  8. Felipe ContrerasMay 24, 2013
  9. Ramkumar RamachandraMay 24, 2013
  10. 7/7 sha1_name: implement finding @{push}Ramkumar Ramachandra, May 23, 2013
  11. Duy NguyenMay 24, 2013
  12. Ramkumar RamachandraMay 24, 2013
  13. Duy NguyenMay 24, 2013
  14. Ramkumar RamachandraMay 24, 2013
  15. Junio C HamanoMay 24, 2013
  16. Ramkumar RamachandraMay 24, 2013
  17. Junio C HamanoMay 24, 2013

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.