Log Message: |
Add changed-path support to svn_client_blame(). This is accomplished
by walking the log messages *backwards* in order to determine the
paths associated with each revision, and then performing the fulltext
downloading and blame aggregation *forwards*.
* subversion/libsvn_client/blame.c
(#include "svn_path.h"): Added for svn_path_join().
(struct rev): Changed meaning of "path" member. Added "next" pointer,
for maintaining chronological list of revisions.
(struct log_message_baton): Removed diff-relevant members; diffing now
happens after all log messages have been processed. Added "eldest",
which points to the head of a chronological list of revisions, and
"path", which holds the working logical path of the file in question.
(log_message_receiver): Removed fulltext-retrieval and diff logic; this
functionality postponed until after all log messages are received.
Updated comments to reflect this change. Added functionality to
track path changes on a per-revision basis.
(svn_client_blame): Added logic to determine repository root URL and
to perform the revision full-text retrieval and blame aggregation.
Renamed several local variables.
|