equal
deleted
inserted
replaced
4 # |
4 # |
5 # This software may be used and distributed according to the terms of the |
5 # This software may be used and distributed according to the terms of the |
6 # GNU General Public License version 2 or any later version. |
6 # GNU General Public License version 2 or any later version. |
7 |
7 |
8 |
8 |
9 import errno |
|
10 import filecmp |
9 import filecmp |
11 import os |
10 import os |
12 import stat |
11 import stat |
13 |
12 |
14 from .i18n import _ |
13 from .i18n import _ |
1735 return rejected |
1734 return rejected |
1736 |
1735 |
1737 def copy(self, source, dest): |
1736 def copy(self, source, dest): |
1738 try: |
1737 try: |
1739 st = self._repo.wvfs.lstat(dest) |
1738 st = self._repo.wvfs.lstat(dest) |
1740 except OSError as err: |
1739 except FileNotFoundError: |
1741 if err.errno != errno.ENOENT: |
|
1742 raise |
|
1743 self._repo.ui.warn( |
1740 self._repo.ui.warn( |
1744 _(b"%s does not exist!\n") % self._repo.dirstate.pathto(dest) |
1741 _(b"%s does not exist!\n") % self._repo.dirstate.pathto(dest) |
1745 ) |
1742 ) |
1746 return |
1743 return |
1747 if not (stat.S_ISREG(st.st_mode) or stat.S_ISLNK(st.st_mode)): |
1744 if not (stat.S_ISREG(st.st_mode) or stat.S_ISLNK(st.st_mode)): |
2167 |
2164 |
2168 def date(self): |
2165 def date(self): |
2169 t, tz = self._changectx.date() |
2166 t, tz = self._changectx.date() |
2170 try: |
2167 try: |
2171 return (self._repo.wvfs.lstat(self._path)[stat.ST_MTIME], tz) |
2168 return (self._repo.wvfs.lstat(self._path)[stat.ST_MTIME], tz) |
2172 except OSError as err: |
2169 except FileNotFoundError: |
2173 if err.errno != errno.ENOENT: |
|
2174 raise |
|
2175 return (t, tz) |
2170 return (t, tz) |
2176 |
2171 |
2177 def exists(self): |
2172 def exists(self): |
2178 return self._repo.wvfs.exists(self._path) |
2173 return self._repo.wvfs.exists(self._path) |
2179 |
2174 |