chiark / gitweb /
use new git-check-ref-format
[version-charset-test.git] / 0001-check-ref-format-Refactor-out-check_one_ref_format.patch
diff --git a/0001-check-ref-format-Refactor-out-check_one_ref_format.patch b/0001-check-ref-format-Refactor-out-check_one_ref_format.patch
new file mode 100644 (file)
index 0000000..44cb6d2
--- /dev/null
@@ -0,0 +1,62 @@
+From d64db36be81b970bfc9f9d7bae854819e267d6a0 Mon Sep 17 00:00:00 2001
+From: Ian Jackson <ijackson@chiark.greenend.org.uk>
+Date: Fri, 4 Nov 2016 17:23:42 +0000
+Subject: [PATCH 1/5] check-ref-format: Refactor out check_one_ref_format
+
+We are going to want to reuse this.  No functional change right now.
+
+It currently has a hidden memory leak if --normalize is used.
+
+Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
+---
+ builtin/check-ref-format.c | 26 ++++++++++++++------------
+ 1 file changed, 14 insertions(+), 12 deletions(-)
+
+diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c
+index eac4994..4d56caa 100644
+--- a/builtin/check-ref-format.c
++++ b/builtin/check-ref-format.c
+@@ -48,12 +48,22 @@ static int check_ref_format_branch(const char *arg)
+       return 0;
+ }
++static int normalize = 0;
++static int flags = 0;
++
++static int check_one_ref_format(const char *refname)
++{
++      if (normalize)
++              refname = collapse_slashes(refname);
++      if (check_refname_format(refname, flags))
++              return 1;
++      if (normalize)
++              printf("%s\n", refname);
++}
++
+ int cmd_check_ref_format(int argc, const char **argv, const char *prefix)
+ {
+       int i;
+-      int normalize = 0;
+-      int flags = 0;
+-      const char *refname;
+       if (argc == 2 && !strcmp(argv[1], "-h"))
+               usage(builtin_check_ref_format_usage);
+@@ -76,13 +86,5 @@ int cmd_check_ref_format(int argc, const char **argv, const char *prefix)
+       if (! (i == argc - 1))
+               usage(builtin_check_ref_format_usage);
+-      refname = argv[i];
+-      if (normalize)
+-              refname = collapse_slashes(refname);
+-      if (check_refname_format(refname, flags))
+-              return 1;
+-      if (normalize)
+-              printf("%s\n", refname);
+-
+-      return 0;
++      return check_one_ref_format(argv[i]);
+ }
+-- 
+2.10.1
+