equal
deleted
inserted
replaced
4 # |
4 # |
5 # This software may be used and distributed according to the terms |
5 # This software may be used and distributed according to the terms |
6 # of the GNU General Public License, incorporated herein by reference. |
6 # of the GNU General Public License, incorporated herein by reference. |
7 |
7 |
8 from node import bin, hex |
8 from node import bin, hex |
9 from remoterepo import remotelock, remoterepository |
|
10 from i18n import _ |
9 from i18n import _ |
11 import repo, os, re, util |
10 import repo, os, re, util |
12 |
11 |
13 class sshrepository(remoterepository): |
12 class remotelock(object): |
|
13 def __init__(self, repo): |
|
14 self.repo = repo |
|
15 def release(self): |
|
16 self.repo.unlock() |
|
17 self.repo = None |
|
18 def __del__(self): |
|
19 if self.repo: |
|
20 self.release() |
|
21 |
|
22 class sshrepository(repo.repository): |
14 def __init__(self, ui, path, create=0): |
23 def __init__(self, ui, path, create=0): |
15 self._url = path |
24 self._url = path |
16 self.ui = ui |
25 self.ui = ui |
17 |
26 |
18 m = re.match(r'^ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))?$', path) |
27 m = re.match(r'^ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))?$', path) |