summaryrefslogtreecommitdiff
path: root/builtin/for-each-ref.c
diff options
context:
space:
mode:
authorKarthik Nayak <karthik.188@gmail.com>2015-06-13 19:37:26 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-06-15 18:48:09 (GMT)
commit69b1cf91e50808df4424c563b1256665034baec8 (patch)
tree10bb693e71bf8f743e1f9a0ee4cd49911fb7c321 /builtin/for-each-ref.c
parent73079d21ec5c5e510e0f120603b9efd748d63798 (diff)
downloadgit-69b1cf91e50808df4424c563b1256665034baec8.zip
git-69b1cf91e50808df4424c563b1256665034baec8.tar.gz
git-69b1cf91e50808df4424c563b1256665034baec8.tar.bz2
ref-filter: add 'ref-filter.h'
This is step one of creating a common library for 'for-each-ref', 'branch -l' and 'tag -l'. This creates a header file with the functions and data structures that ref-filter will provide. We move the data structures created in for-each-ref to this header file. Mentored-by: Christian Couder <christian.couder@gmail.com> Mentored-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr> Signed-off-by: Karthik Nayak <karthik.188@gmail.com> Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/for-each-ref.c')
-rw-r--r--builtin/for-each-ref.c41
1 files changed, 1 insertions, 40 deletions
diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c
index d11059b..26485b9 100644
--- a/builtin/for-each-ref.c
+++ b/builtin/for-each-ref.c
@@ -10,49 +10,10 @@
#include "parse-options.h"
#include "remote.h"
#include "color.h"
-
-/* Quoting styles */
-#define QUOTE_NONE 0
-#define QUOTE_SHELL 1
-#define QUOTE_PERL 2
-#define QUOTE_PYTHON 4
-#define QUOTE_TCL 8
+#include "ref-filter.h"
typedef enum { FIELD_STR, FIELD_ULONG, FIELD_TIME } cmp_type;
-struct atom_value {
- const char *s;
- unsigned long ul; /* used for sorting when not FIELD_STR */
-};
-
-struct ref_sort {
- struct ref_sort *next;
- int atom; /* index into used_atom array */
- unsigned reverse : 1;
-};
-
-struct ref_array_item {
- unsigned char objectname[20];
- int flag;
- const char *symref;
- struct atom_value *value;
- char *refname;
-};
-
-struct ref_array {
- int nr, alloc;
- struct ref_array_item **items;
-};
-
-struct ref_filter {
- const char **name_patterns;
-};
-
-struct ref_filter_cbdata {
- struct ref_array array;
- struct ref_filter filter;
-};
-
static struct {
const char *name;
cmp_type cmp_type;