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.