Mercurial > hgsubversion
comparison tests/test_util.py @ 911:772280aed751
Honor SVN auto-props (solves issue #186)
The auto-props are read from the users subversion configuration file
(~/.subversion/config on posix). System-wide configuration files are not
taken into account.
The implementation completely bypasses the subversion bindings,
because the current bindings provide little support for this functionality.
author | Ronny Voelker <ronny.voelker@googlemail.com> |
---|---|
date | Sun, 01 Jan 2012 15:59:15 +0100 |
parents | 312f36a425f0 |
children | 6918f60d0e28 |
comparison
equal
deleted
inserted
replaced
910:312f36a425f0 | 911:772280aed751 |
---|---|
36 from nose import SkipTest | 36 from nose import SkipTest |
37 except ImportError: | 37 except ImportError: |
38 SkipTest = None | 38 SkipTest = None |
39 | 39 |
40 from hgsubversion import util | 40 from hgsubversion import util |
41 from hgsubversion import svnwrap | |
41 | 42 |
42 # Documentation for Subprocess.Popen() says: | 43 # Documentation for Subprocess.Popen() says: |
43 # "Note that on Windows, you cannot set close_fds to true and | 44 # "Note that on Windows, you cannot set close_fds to true and |
44 # also redirect the standard handles by setting stdin, stdout or | 45 # also redirect the standard handles by setting stdin, stdout or |
45 # stderr." | 46 # stderr." |
258 | 259 |
259 self.repocount = 0 | 260 self.repocount = 0 |
260 self.wc_path = '%s/testrepo_wc' % self.tmpdir | 261 self.wc_path = '%s/testrepo_wc' % self.tmpdir |
261 self.svn_wc = None | 262 self.svn_wc = None |
262 | 263 |
264 self.config_dir = self.tmpdir | |
265 svnwrap.common._svn_config_dir = self.config_dir | |
266 self.setup_svn_config('') | |
267 | |
263 # Previously, we had a MockUI class that wrapped ui, and giving access | 268 # Previously, we had a MockUI class that wrapped ui, and giving access |
264 # to the stream. The ui.pushbuffer() and ui.popbuffer() can be used | 269 # to the stream. The ui.pushbuffer() and ui.popbuffer() can be used |
265 # instead. Using the regular UI class, with all stderr redirected to | 270 # instead. Using the regular UI class, with all stderr redirected to |
266 # stdout ensures that the test setup is much more similar to usage | 271 # stdout ensures that the test setup is much more similar to usage |
267 # setups. | 272 # setups. |
268 self.patch = (ui.ui.write_err, ui.ui.write) | 273 self.patch = (ui.ui.write_err, ui.ui.write) |
269 setattr(ui.ui, self.patch[0].func_name, self.patch[1]) | 274 setattr(ui.ui, self.patch[0].func_name, self.patch[1]) |
275 | |
276 def setup_svn_config(self, config): | |
277 with open(self.config_dir + '/config', 'w') as c: | |
278 c.write(config) | |
270 | 279 |
271 def _makerepopath(self): | 280 def _makerepopath(self): |
272 self.repocount += 1 | 281 self.repocount += 1 |
273 return '%s/testrepo-%d' % (self.tmpdir, self.repocount) | 282 return '%s/testrepo-%d' % (self.tmpdir, self.repocount) |
274 | 283 |