summaryrefslogtreecommitdiff
path: root/refs.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-06-16 19:17:58 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-06-16 19:17:58 (GMT)
commit474df928b11975d8c0ef532a3b61e1b86143406a (patch)
tree652270184cc88e172a2748bf364bf984ca59ebbc /refs.h
parent5cf2c571d08f38b90887d41d5c03376714f0b00d (diff)
parente6bea66db6229a0975ebba510a1d2827bf09cb7f (diff)
downloadgit-474df928b11975d8c0ef532a3b61e1b86143406a.zip
git-474df928b11975d8c0ef532a3b61e1b86143406a.tar.gz
git-474df928b11975d8c0ef532a3b61e1b86143406a.tar.bz2
Merge branch 'jl/remote-rm-prune'
"git remote rm" and "git remote prune" can involve removing many refs at once, which is not a very efficient thing to do when very many refs exist in the packed-refs file. * jl/remote-rm-prune: remote prune: optimize "dangling symref" check/warning remote: repack packed-refs once when deleting multiple refs remote rm: delete remote configuration as the last
Diffstat (limited to 'refs.h')
-rw-r--r--refs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/refs.h b/refs.h
index 09ff483..4e3050d 100644
--- a/refs.h
+++ b/refs.h
@@ -77,6 +77,7 @@ static inline const char *has_glob_specials(const char *pattern)
extern int for_each_rawref(each_ref_fn, void *);
extern void warn_dangling_symref(FILE *fp, const char *msg_fmt, const char *refname);
+extern void warn_dangling_symrefs(FILE *fp, const char *msg_fmt, const struct string_list* refnames);
/*
* Lock the packed-refs file for writing. Flags is passed to
@@ -120,6 +121,8 @@ extern void rollback_packed_refs(void);
*/
int pack_refs(unsigned int flags);
+extern int repack_without_refs(const char **refnames, int n);
+
extern int ref_exists(const char *);
/*