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

[PATCH 1/3] transport: refactor flag #defines to be more readable

From
BWBrandon Williams <bmwill@google.com>
Date
Dec 19, 2016, 18:25 UTC
Message-ID
<1482171933-180601-2-git-send-email-bmwill@google.com>
In-Reply-To
<1482171933-180601-1-git-send-email-bmwill@google.com>

All of the #defines for the TRANSPORT_* flags are hardcoded to be powers of two. This can be error prone when adding a new flag and is difficult to read. This patch refactors these defines to instead use a shift operation to generate the flags. This makes adding an additional flag simpilar and makes the defines easier to read.

Signed-off-by: Brandon Williams <bmwill@google.com>
---
 transport.h | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/transport.h b/transport.h
index b8e4ee8..1b65458 100644
--- a/transport.h
+++ b/transport.h
@@ -131,21 +131,21 @@ struct transport {
 	enum transport_family family;
 };
 
-#define TRANSPORT_PUSH_ALL 1
-#define TRANSPORT_PUSH_FORCE 2
-#define TRANSPORT_PUSH_DRY_RUN 4
-#define TRANSPORT_PUSH_MIRROR 8
-#define TRANSPORT_PUSH_PORCELAIN 16
-#define TRANSPORT_PUSH_SET_UPSTREAM 32
-#define TRANSPORT_RECURSE_SUBMODULES_CHECK 64
-#define TRANSPORT_PUSH_PRUNE 128
-#define TRANSPORT_RECURSE_SUBMODULES_ON_DEMAND 256
-#define TRANSPORT_PUSH_NO_HOOK 512
-#define TRANSPORT_PUSH_FOLLOW_TAGS 1024
-#define TRANSPORT_PUSH_CERT_ALWAYS 2048
-#define TRANSPORT_PUSH_CERT_IF_ASKED 4096
-#define TRANSPORT_PUSH_ATOMIC 8192
-#define TRANSPORT_PUSH_OPTIONS 16384
+#define TRANSPORT_PUSH_ALL			(1<<0)
+#define TRANSPORT_PUSH_FORCE			(1<<1)
+#define TRANSPORT_PUSH_DRY_RUN			(1<<2)
+#define TRANSPORT_PUSH_MIRROR			(1<<3)
+#define TRANSPORT_PUSH_PORCELAIN		(1<<4)
+#define TRANSPORT_PUSH_SET_UPSTREAM		(1<<5)
+#define TRANSPORT_RECURSE_SUBMODULES_CHECK	(1<<6)
+#define TRANSPORT_PUSH_PRUNE			(1<<7)
+#define TRANSPORT_RECURSE_SUBMODULES_ON_DEMAND	(1<<8)
+#define TRANSPORT_PUSH_NO_HOOK			(1<<9)
+#define TRANSPORT_PUSH_FOLLOW_TAGS		(1<<10)
+#define TRANSPORT_PUSH_CERT_ALWAYS		(1<<11)
+#define TRANSPORT_PUSH_CERT_IF_ASKED		(1<<12)
+#define TRANSPORT_PUSH_ATOMIC			(1<<13)
+#define TRANSPORT_PUSH_OPTIONS			(1<<14)
 
 extern int transport_summary_width(const struct ref *refs);
 
-- 
2.8.0.rc3.226.g39d4020
Previous: Brandon WilliamsNext: Brandon Williams
Message 2 of 7 in “push only submodules”
  1. 0/3 push only submodulesBrandon Williams, Dec 19, 2016
  2. 1/3 transport: refactor flag #defines to be more readableBrandon Williams, Dec 19, 2016
  3. 2/3 submodules: add RECURSE_SUBMODULES_ONLY valueBrandon Williams, Dec 19, 2016
  4. 3/3 push: add option to push only submodulesBrandon Williams, Dec 19, 2016
  5. Stefan BellerDec 19, 2016
  6. Junio C HamanoDec 19, 2016
  7. Junio C HamanoDec 20, 2016

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.