Figured it out; I used svn_repos_replay, which does not send deltas. Everything works with svn_repos_replay2.
Regards, Alexey. On Wednesday 03 March 2010 05:34:02 pm Alexey Neyman wrote: > Hi all, > > I am trying to check for some content changes in the pre-commit script, > and for that I am trying to employ the apply_textdelta method in the > editor. From the comments in the code (e.g. in python bindings), I > understand that the "window handler" callback should be called > repeatedly and the last call would pass None (NULL in C) as the window > pointer. > > However that does not seem to be the case. I tried creating the > following editor and invoking it from pre-commit scripts: > > def add_file(self, path, parent_baton, copyfrom_path, > copyfrom_revision, file_pool): if copyfrom_path is not None: > sys.stderr.write(("@@ add_file %s (from %s:%d)\n" % (path, > copyfrom_path, copyfrom_rev))) else: > sys.stderr.write(("@@ add_file %s\n" % (path))) > return [ path ] > > def apply_textdelta(self, file_baton, base_checksum): > sys.stderr.write(("@@ apply_textdelta to %s\n" % (file_baton[0]))) > def winhnd(window, btn=file_baton, rcv=self): > if window is not None: > sys.stderr.write(("@@ delta_window on %s - not null\n" % > (btn[0]))) else: > sys.stderr.write(("@@ delta_window on %s - null\n" % (btn[0]))) > return winhnd > > def open_file(self, path, parent_baton, base_revision, file_pool): > sys.stderr.write(("@@ open_file %s\n" % (path))) > return [ path ] > > def close_file(self, file_baton, text_checksum): > sys.stderr.write(("@@ close_file %s\n" % (file_baton[0]))) > return > > With that script, I get the output as below: > > @@ open_file foo/bar1 > @@ apply_textdelta to foo/bar1 > @@ delta_window on foo/bar1 - null > @@ close_file foo/bar1 > @@ open_file foo/bar2 > @@ apply_textdelta to foo/bar2 > @@ delta_window on foo/bar2 - null > @@ close_file foo/bar2 > > That is, the "window handler" is always called with None object as > the text delta. Am I doing something wrong? Could the change content > be accessed from the pre-commit script? > > Regards, > Alexey.