+2008-02-17 Bruno Haible <bruno@clisp.org>
+
+ Speed up from O(n^2) to O(n) for long ChangeLog files.
+ * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
+ (read_changelog_file): Change implementation of entries_reversed list
+ to rbtreehash.
+ * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
+
2008-02-17 Bruno Haible <bruno@clisp.org>
New option --split-merged-entry.
#include "gl_list.h"
#include "gl_array_list.h"
#include "gl_linkedhash_list.h"
+#include "gl_rbtreehash_list.h"
#include "gl_linked_list.h"
#include "xalloc.h"
#include "xmalloca.h"
gl_list_create_empty (GL_LINKEDHASH_LIST, entry_equals, entry_hashcode,
NULL, true);
result->entries_reversed =
- gl_list_create_empty (GL_LINKEDHASH_LIST, entry_equals, entry_hashcode,
+ gl_list_create_empty (GL_RBTREEHASH_LIST, entry_equals, entry_hashcode,
NULL, true);
/* A ChangeLog file consists of ChangeLog entries. A ChangeLog entry starts
at a line following a blank line and that starts with a non-whitespace