Mercurial > hgsubversion
comparison svnwrap/svn_swig_wrapper.py @ 50:80b923ab242b
Drop any pretense of supporting svn 1.4.x.
The quality of the SWIG bindings is just too low for this to work reasonably. In theory, 1.4.x will be supported at a future date by ctypes.
| author | Augie Fackler <durin42@gmail.com> |
|---|---|
| date | Sat, 01 Nov 2008 12:23:07 -0500 |
| parents | 9738a7c4e3dd |
| children | fd5aadd552c8 |
comparison
equal
deleted
inserted
replaced
| 49:2bc4999a89d3 | 50:80b923ab242b |
|---|---|
| 9 from svn import client | 9 from svn import client |
| 10 from svn import core | 10 from svn import core |
| 11 from svn import delta | 11 from svn import delta |
| 12 from svn import ra | 12 from svn import ra |
| 13 | 13 |
| 14 if (core.SVN_VER_MAJOR, core.SVN_VER_MINOR, core.SVN_VER_MICRO) < (1, 5, 0): | |
| 15 raise ImportError, 'You must have Subversion 1.5.0 or newer and matching SWIG bindings.' | |
| 16 | |
| 14 svn_config = core.svn_config_get_config(None) | 17 svn_config = core.svn_config_get_config(None) |
| 15 | |
| 16 class RaCallbacks(ra.Callbacks): | 18 class RaCallbacks(ra.Callbacks): |
| 17 def open_tmp_file(self, pool): | 19 def open_tmp_file(self, pool): |
| 18 (fd, fn) = tempfile.mkstemp() | 20 (fd, fn) = tempfile.mkstemp() |
| 19 os.close(fd) | 21 os.close(fd) |
| 20 return fn | 22 return fn |
| 21 | 23 |
| 22 def get_client_string(self, pool): | 24 def get_client_string(self, pool): |
| 23 return 'hgsubversion' | 25 return 'hgsubversion' |
| 26 | |
| 24 | 27 |
| 25 def user_pass_prompt(realm, default_username, ms, pool): | 28 def user_pass_prompt(realm, default_username, ms, pool): |
| 26 creds = core.svn_auth_cred_simple_t() | 29 creds = core.svn_auth_cred_simple_t() |
| 27 creds.may_save = ms | 30 creds.may_save = ms |
| 28 if default_username: | 31 if default_username: |
| 113 self.client_context.config = svn_config | 116 self.client_context.config = svn_config |
| 114 callbacks = RaCallbacks() | 117 callbacks = RaCallbacks() |
| 115 callbacks.auth_baton = self.auth_baton | 118 callbacks.auth_baton = self.auth_baton |
| 116 self.callbacks = callbacks | 119 self.callbacks = callbacks |
| 117 self.ra = ra.open2(self.svn_url.encode('utf-8'), callbacks, | 120 self.ra = ra.open2(self.svn_url.encode('utf-8'), callbacks, |
| 118 svn_config) | 121 svn_config, self.pool) |
| 119 | |
| 120 | 122 |
| 121 @property | 123 @property |
| 122 def HEAD(self): | 124 def HEAD(self): |
| 123 return ra.get_latest_revnum(self.ra, self.pool) | 125 return ra.get_latest_revnum(self.ra, self.pool) |
| 124 | 126 |
| 240 if not start: | 242 if not start: |
| 241 start = self.START | 243 start = self.START |
| 242 if not stop: | 244 if not stop: |
| 243 stop = self.HEAD | 245 stop = self.HEAD |
| 244 while stop > start: | 246 while stop > start: |
| 245 ra.get_log(self.ra, | 247 ra.get_log(self.ra, |
| 246 paths, | 248 paths, |
| 247 start+1, | 249 start+1, |
| 248 stop, | 250 stop, |
| 249 chunk_size, #limit of how many log messages to load | 251 chunk_size, #limit of how many log messages to load |
| 250 True, # don't need to know changed paths | 252 True, # don't need to know changed paths |
