diff options
| author | Junio C Hamano <gitster@pobox.com> | 2009-01-25 17:13:02 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2009-01-25 17:13:02 -0800 |
| commit | f18e6bef23809d2823c1a687f375b22c6af0e735 (patch) | |
| tree | 3b9c79bbd3307ca49a36b142435937db12dbb2b8 /object.c | |
| parent | 45099df6d7d83b30300f8efa3f6b831d6132c687 (diff) | |
| parent | b2a6d1c6868b6d5e7d2b4fa9129341220a1e848a (diff) | |
| download | git-f18e6bef23809d2823c1a687f375b22c6af0e735.tar.gz | |
Merge branch 'js/maint-all-implies-HEAD'
* js/maint-all-implies-HEAD:
bundle: allow the same ref to be given more than once
revision walker: include a detached HEAD in --all
Diffstat (limited to 'object.c')
| -rw-r--r-- | object.c | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -268,3 +268,22 @@ void add_object_array_with_mode(struct object *obj, const char *name, struct obj objects[nr].mode = mode; array->nr = ++nr; } + +void object_array_remove_duplicates(struct object_array *array) +{ + int ref, src, dst; + struct object_array_entry *objects = array->objects; + + for (ref = 0; ref < array->nr - 1; ref++) { + for (src = ref + 1, dst = src; + src < array->nr; + src++) { + if (!strcmp(objects[ref].name, objects[src].name)) + continue; + if (src != dst) + objects[dst] = objects[src]; + dst++; + } + array->nr = dst; + } +} |
