threads / patch / 37134

patchremove duplicate of is_branch

Subject: [PATCH] remove duplicate of is_branch

## tl;dr

3 messages between Jul 15, 2014 and Jul 15, 2014. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Ronnie Sahlberg· Jul 15, 2014, 23:02 UTC · lore
Jun, List

Please find a trivial patch that makes refs.c:is_branch public. This allows us to delete the identical copy of is_branch in fsck.c

Ronnie Sahlberg (1):
  refs.c: add a public is_branch function
 builtin/fsck.c | 5 -----
 refs.c         | 2 +-
 refs.h         | 2 ++
 3 files changed, 3 insertions(+), 6 deletions(-)
-- 
2.0.1.442.g7fe6834.dirty
Ronnie Sahlberg· Jul 15, 2014, 23:02 UTC · re: Ronnie Sahlberg · lore

[PATCH] refs.c: add a public is_branch function

Both refs.c and fsck.c have their own private copies of the is_branch function. Delete the is_branch function from fsck.c and make the version in refs.c public.

Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
---
 builtin/fsck.c | 5 -----
 refs.c         | 2 +-
 refs.h         | 2 ++
 3 files changed, 3 insertions(+), 6 deletions(-)
Show changes to 3 files +3 −6

builtin/fsck.c, refs.c, refs.h

diff --git a/builtin/fsck.c b/builtin/fsck.c
index fc150c8..a473622 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -482,11 +482,6 @@ static int fsck_handle_reflog(const char *logname, const unsigned char *sha1, in
 	return 0;
 }
 
-static int is_branch(const char *refname)
-{
-	return !strcmp(refname, "HEAD") || starts_with(refname, "refs/heads/");
-}
-
 static int fsck_handle_ref(const char *refname, const unsigned char *sha1, int flag, void *cb_data)
 {
 	struct object *obj;
diff --git a/refs.c b/refs.c
index dc45774..dc44802 100644
--- a/refs.c
+++ b/refs.c
@@ -2817,7 +2817,7 @@ static int log_ref_write(const char *refname, const unsigned char *old_sha1,
 	return 0;
 }
 
-static int is_branch(const char *refname)
+int is_branch(const char *refname)
 {
 	return !strcmp(refname, "HEAD") || starts_with(refname, "refs/heads/");
 }
diff --git a/refs.h b/refs.h
index 4e3050d..8b4a3f2 100644
--- a/refs.h
+++ b/refs.h
@@ -125,6 +125,8 @@ extern int repack_without_refs(const char **refnames, int n);
 
 extern int ref_exists(const char *);
 
+extern int is_branch(const char *refname);
+
 /*
  * If refname is a non-symbolic reference that refers to a tag object,
  * and the tag can be (recursively) dereferenced to a non-tag object,
-- 
2.0.1.442.g7fe6834.dirty
Jonathan Nieder· Jul 15, 2014, 23:20 UTC · re: Ronnie Sahlberg · lore

Re: [PATCH] refs.c: add a public is_branch function

Ronnie Sahlberg wrote:
Show 6 quoted lines
> Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
> ---
>  builtin/fsck.c | 5 -----
>  refs.c         | 2 +-
>  refs.h         | 2 ++
>  3 files changed, 3 insertions(+), 6 deletions(-)

Makes sense -- thanks. (This is an old one: v1.5.4-rc4~27 (2008-01-15), v1.5.4-rc4~30 (2008-01-15). Most of the running time of fsck is per-object, not per-ref, so maintainability here seems worth the performance cost.)

Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>

← back to recent threads