diff options
| -rw-r--r-- | project.py | 11 |
1 files changed, 9 insertions, 2 deletions
| @@ -12,6 +12,7 @@ | |||
| 12 | # See the License for the specific language governing permissions and | 12 | # See the License for the specific language governing permissions and |
| 13 | # limitations under the License. | 13 | # limitations under the License. |
| 14 | 14 | ||
| 15 | import errno | ||
| 15 | import filecmp | 16 | import filecmp |
| 16 | import os | 17 | import os |
| 17 | import re | 18 | import re |
| @@ -864,8 +865,14 @@ class Project(object): | |||
| 864 | 'refs', | 865 | 'refs', |
| 865 | 'rr-cache', | 866 | 'rr-cache', |
| 866 | 'svn']: | 867 | 'svn']: |
| 867 | os.symlink(os.path.join(relgit, name), | 868 | try: |
| 868 | os.path.join(dotgit, name)) | 869 | os.symlink(os.path.join(relgit, name), |
| 870 | os.path.join(dotgit, name)) | ||
| 871 | except OSError, e: | ||
| 872 | if e.errno == errno.EPERM: | ||
| 873 | raise GitError('filesystem must support symlinks') | ||
| 874 | else: | ||
| 875 | raise | ||
| 869 | 876 | ||
| 870 | rev = self.GetRemote(self.remote.name).ToLocal(self.revision) | 877 | rev = self.GetRemote(self.remote.name).ToLocal(self.revision) |
| 871 | rev = self.bare_git.rev_parse('%s^0' % rev) | 878 | rev = self.bare_git.rev_parse('%s^0' % rev) |
