summaryrefslogtreecommitdiff
path: root/refs.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-10-10 21:03:50 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-10-10 21:03:50 (GMT)
commita460ea4a3cb1dad253604b5e2aeaa161637453a9 (patch)
treeeebc594e87520699318844d5d19e900f5de5d9a4 /refs.c
parenta229a30f8a3f52343f52e8691f7261fe95cb4cf1 (diff)
parentcccf74e2da85808478c784e403a69bbfe2b9f518 (diff)
downloadgit-a460ea4a3cb1dad253604b5e2aeaa161637453a9.zip
git-a460ea4a3cb1dad253604b5e2aeaa161637453a9.tar.gz
git-a460ea4a3cb1dad253604b5e2aeaa161637453a9.tar.bz2
Merge branch 'nd/shallow-deepen'
The existing "git fetch --depth=<n>" option was hard to use correctly when making the history of an existing shallow clone deeper. A new option, "--deepen=<n>", has been added to make this easier to use. "git clone" also learned "--shallow-since=<date>" and "--shallow-exclude=<tag>" options to make it easier to specify "I am interested only in the recent N months worth of history" and "Give me only the history since that version". * nd/shallow-deepen: (27 commits) fetch, upload-pack: --deepen=N extends shallow boundary by N commits upload-pack: add get_reachable_list() upload-pack: split check_unreachable() in two, prep for get_reachable_list() t5500, t5539: tests for shallow depth excluding a ref clone: define shallow clone boundary with --shallow-exclude fetch: define shallow boundary with --shallow-exclude upload-pack: support define shallow boundary by excluding revisions refs: add expand_ref() t5500, t5539: tests for shallow depth since a specific date clone: define shallow clone boundary based on time with --shallow-since fetch: define shallow boundary with --shallow-since upload-pack: add deepen-since to cut shallow repos based on time shallow.c: implement a generic shallow boundary finder based on rev-list fetch-pack: use a separate flag for fetch in deepening mode fetch-pack.c: mark strings for translating fetch-pack: use a common function for verbose printing fetch-pack: use skip_prefix() instead of starts_with() upload-pack: move rev-list code out of check_non_tip() upload-pack: make check_non_tip() clean things up on error upload-pack: tighten number parsing at "deepen" lines ...
Diffstat (limited to 'refs.c')
-rw-r--r--refs.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/refs.c b/refs.c
index 5ffdd77..abc721b 100644
--- a/refs.c
+++ b/refs.c
@@ -419,6 +419,13 @@ static char *substitute_branch_name(const char **string, int *len)
int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref)
{
char *last_branch = substitute_branch_name(&str, &len);
+ int refs_found = expand_ref(str, len, sha1, ref);
+ free(last_branch);
+ return refs_found;
+}
+
+int expand_ref(const char *str, int len, unsigned char *sha1, char **ref)
+{
const char **p, *r;
int refs_found = 0;
@@ -444,7 +451,6 @@ int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref)
warning("ignoring broken ref %s.", fullref);
}
}
- free(last_branch);
return refs_found;
}