vcs-svn: move remaining repo_tree functions to fast_export.h
commitb8f43b120b4d7bd0638eb072f8527c5a33a70579
authorJonathan Nieder <jrnieder@gmail.com>
Wed, 23 Aug 2017 00:04:47 +0000 (22 17:04 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 23 Aug 2017 17:41:26 +0000 (23 10:41 -0700)
tree6f39ec3a42a13afad2f5262a7462b59429740e41
parent9b0db33506ea9b1d968d719f2fce9c208c66cd95
vcs-svn: move remaining repo_tree functions to fast_export.h

These used to be for manipulating the in-memory repo_tree structure,
but nowadays they are convenience wrappers to handle a few git-vs-svn
mismatches:

 1. Git does not track empty directories but Subversion does.  When
    looking up a path in git that Subversion thinks exists and finding
    nothing, we can safely assume that the path represents a
    directory.  This is needed when a later Subversion revision
    modifies that directory.

 2. Subversion allows deleting a file by copying.  In Git fast-import
    we have to handle that more explicitly as a deletion.

These are details of the tool's interaction with git fast-import.
Move them to fast_export.c, where other such details are handled.

This way the function names do not start with a repo_ prefix that
would clash with the repository object introduced in
v2.14.0-rc0~38^2~16 (repository: introduce the repository object,
2017-06-22) or an svn_ prefix that would clash with libsvn (in case
someone wants to link this code with libsvn some day).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile
vcs-svn/fast_export.c
vcs-svn/fast_export.h
vcs-svn/repo_tree.c [deleted file]
vcs-svn/repo_tree.h [deleted file]
vcs-svn/svndump.c