Code

Merge branch 'db/delta-applier' into svn-fe
authorJonathan Nieder <jrnieder@gmail.com>
Wed, 15 Jun 2011 07:17:51 +0000 (02:17 -0500)
committerJonathan Nieder <jrnieder@gmail.com>
Wed, 15 Jun 2011 07:17:51 +0000 (02:17 -0500)
* db/delta-applier:
  vcs-svn: cap number of bytes read from sliding view
  test-svn-fe: split off "test-svn-fe -d" into a separate function
  vcs-svn: let deltas use data from preimage
  vcs-svn: let deltas use data from postimage
  vcs-svn: verify that deltas consume all inline data
  vcs-svn: implement copyfrom_data delta instruction
  vcs-svn: read instructions from deltas
  vcs-svn: read inline data from deltas
  vcs-svn: read the preimage when applying deltas
  vcs-svn: parse svndiff0 window header
  vcs-svn: skeleton of an svn delta parser
  vcs-svn: make buffer_read_binary API more convenient
  vcs-svn: learn to maintain a sliding view of a file
  Makefile: list one vcs-svn/xdiff object or header per line

Conflicts:
Makefile
vcs-svn/LICENSE

1  2 
Makefile
vcs-svn/LICENSE

diff --cc Makefile
index 91e20d29c66eafa0294a921f68bd2f860fe7cc76,cd7dd9723d23f4b8cdceb17a5e850523886f99b7..e954dffa9e461396e6f78ae4f24fbd0f2ebf0935
+++ b/Makefile
@@@ -1832,11 -1841,27 +1837,23 @@@ GIT_OBJS := $(LIB_OBJS) $(BUILTIN_OBJS
  ifndef NO_CURL
        GIT_OBJS += http.o http-walker.o remote-curl.o
  endif
- XDIFF_OBJS = xdiff/xdiffi.o xdiff/xprepare.o xdiff/xutils.o xdiff/xemit.o \
-       xdiff/xmerge.o xdiff/xpatience.o
- VCSSVN_OBJS = vcs-svn/line_buffer.o vcs-svn/repo_tree.o \
-       vcs-svn/fast_export.o vcs-svn/svndump.o
- VCSSVN_TEST_OBJS = test-line-buffer.o
+ XDIFF_OBJS += xdiff/xdiffi.o
+ XDIFF_OBJS += xdiff/xprepare.o
+ XDIFF_OBJS += xdiff/xutils.o
+ XDIFF_OBJS += xdiff/xemit.o
+ XDIFF_OBJS += xdiff/xmerge.o
+ XDIFF_OBJS += xdiff/xpatience.o
 -VCSSVN_OBJS += vcs-svn/string_pool.o
+ VCSSVN_OBJS += vcs-svn/line_buffer.o
+ VCSSVN_OBJS += vcs-svn/sliding_window.o
+ VCSSVN_OBJS += vcs-svn/repo_tree.o
+ VCSSVN_OBJS += vcs-svn/fast_export.o
+ VCSSVN_OBJS += vcs-svn/svndiff.o
+ VCSSVN_OBJS += vcs-svn/svndump.o
 -VCSSVN_TEST_OBJS += test-obj-pool.o
 -VCSSVN_TEST_OBJS += test-string-pool.o
+ VCSSVN_TEST_OBJS += test-line-buffer.o
 -VCSSVN_TEST_OBJS += test-treap.o
  OBJECTS := $(GIT_OBJS) $(XDIFF_OBJS) $(VCSSVN_OBJS)
  
  dep_files := $(foreach f,$(OBJECTS),$(dir $f).depend/$(notdir $f).d)
@@@ -1955,15 -1980,28 +1972,25 @@@ connect.o transport.o http-backend.o: u
  http-fetch.o http-walker.o remote-curl.o transport.o walker.o: walker.h
  http.o http-walker.o http-push.o http-fetch.o remote-curl.o: http.h url.h
  
- xdiff-interface.o $(XDIFF_OBJS): \
-       xdiff/xinclude.h xdiff/xmacros.h xdiff/xdiff.h xdiff/xtypes.h \
-       xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
- $(VCSSVN_OBJS) $(VCSSVN_TEST_OBJS): $(LIB_H) \
-       vcs-svn/line_buffer.h vcs-svn/repo_tree.h vcs-svn/fast_export.h \
-       vcs-svn/svndump.h
- test-svn-fe.o: vcs-svn/svndump.h
+ XDIFF_H += xdiff/xinclude.h
+ XDIFF_H += xdiff/xmacros.h
+ XDIFF_H += xdiff/xdiff.h
+ XDIFF_H += xdiff/xtypes.h
+ XDIFF_H += xdiff/xutils.h
+ XDIFF_H += xdiff/xprepare.h
+ XDIFF_H += xdiff/xdiffi.h
+ XDIFF_H += xdiff/xemit.h
+ xdiff-interface.o $(XDIFF_OBJS): $(XDIFF_H)
 -VCSSVN_H += vcs-svn/obj_pool.h
 -VCSSVN_H += vcs-svn/trp.h
 -VCSSVN_H += vcs-svn/string_pool.h
+ VCSSVN_H += vcs-svn/line_buffer.h
+ VCSSVN_H += vcs-svn/sliding_window.h
+ VCSSVN_H += vcs-svn/repo_tree.h
+ VCSSVN_H += vcs-svn/fast_export.h
+ VCSSVN_H += vcs-svn/svndiff.h
+ VCSSVN_H += vcs-svn/svndump.h
+ $(VCSSVN_OBJS) $(VCSSVN_TEST_OBJS): $(LIB_H) $(VCSSVN_H)
  endif
  
  exec_cmd.s exec_cmd.o: EXTRA_CPPFLAGS = \
diff --cc vcs-svn/LICENSE
index 533f585ebf8871f446bfc4cc10e30bf35eff53d7,805882c8383e9258e883dfd528baaa02ecfbf064..eb91858b825ba89131054444b7cac104285fad3c
@@@ -1,6 -1,11 +1,8 @@@
  Copyright (C) 2010 David Barr <david.barr@cordelta.com>.
  All rights reserved.
  
 -Copyright (C) 2008 Jason Evans <jasone@canonware.com>.
 -All rights reserved.
 -
+ Copyright (C) 2010 Jonathan Nieder <jrnieder@gmail.com>.
  Copyright (C) 2005 Stefan Hegny, hydrografix Consulting GmbH,
  Frankfurt/Main, Germany
  and others, see http://svn2cc.sarovar.org