Jens Restemeier
2017-11-08 14:36:07 UTC
Hi,
Im trying to use the python-swig bindings to copy the log entries of our
repository into a database for indexing and cross referencing. There is one
minor problem: The callback seems to be called a few times with invalid log
entries:
(-1L, {}, None)
That is obviously easy to filter out, and there dont seem to be any gaps in
the revisions. Im just wondering if this points to repository problems, or
if these are just side effects of the database schema or API. Is it possible
that these are failed transactions?
* Debian 3.16.39-1+deb8u2
* svn, version 1.9.5 (r1770682)
Code:
start = svn.core.svn_opt_revision_t()
start.kind = svn.core.svn_opt_revision_number
start.value.number = startRev
end = svn.core.svn_opt_revision_t()
end.kind = svn.core.svn_opt_revision_head
revision_range = svn.core.svn_opt_revision_range_t()
revision_range.start = start
revision_range.end = end
limit = 0
discover_changed_paths = True
strict_node_history = True
include_merged_revisions = True
revprops = None
svn.client.log5(targets, end, (revision_range,), limit,
discover_changed_paths, strict_node_history, include_merged_revisions,
revprops, _receiver_callback, ctx)
Cheers,
Jens
Im trying to use the python-swig bindings to copy the log entries of our
repository into a database for indexing and cross referencing. There is one
minor problem: The callback seems to be called a few times with invalid log
entries:
(-1L, {}, None)
That is obviously easy to filter out, and there dont seem to be any gaps in
the revisions. Im just wondering if this points to repository problems, or
if these are just side effects of the database schema or API. Is it possible
that these are failed transactions?
* Debian 3.16.39-1+deb8u2
* svn, version 1.9.5 (r1770682)
Code:
start = svn.core.svn_opt_revision_t()
start.kind = svn.core.svn_opt_revision_number
start.value.number = startRev
end = svn.core.svn_opt_revision_t()
end.kind = svn.core.svn_opt_revision_head
revision_range = svn.core.svn_opt_revision_range_t()
revision_range.start = start
revision_range.end = end
limit = 0
discover_changed_paths = True
strict_node_history = True
include_merged_revisions = True
revprops = None
svn.client.log5(targets, end, (revision_range,), limit,
discover_changed_paths, strict_node_history, include_merged_revisions,
revprops, _receiver_callback, ctx)
Cheers,
Jens