From 788e9626ccefa2e40aab58b67a1487e2a26b8225 Mon Sep 17 00:00:00 2001 From: Renaud Paquay Date: Fri, 27 Jan 2017 11:41:12 -0800 Subject: [PATCH] Provide more specific error message for symlinks errors on Windows Change-Id: Ia6099beef37ae6b6143eba243fe7fbe02b74a9bb --- project.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/project.py b/project.py index 338ce93c..e1a844e7 100644 --- a/project.py +++ b/project.py @@ -2400,7 +2400,7 @@ class Project(object): os.path.relpath(stock_hook, os.path.dirname(dst)), dst) except OSError as e: if e.errno == errno.EPERM: - raise GitError('filesystem must support symlinks') + raise GitError(self._get_symlink_error_message()) else: raise @@ -2514,7 +2514,7 @@ class Project(object): except OSError as e: if e.errno == errno.EPERM: - raise DownloadError('filesystem must support symlinks') + raise DownloadError(self._get_symlink_error_message()) else: raise @@ -2555,6 +2555,14 @@ class Project(object): platform_utils.rmtree(dotgit) raise + def _get_symlink_error_message(self): + if platform_utils.isWindows(): + return ('Unable to create symbolic link. Please re-run the command as ' + 'Administrator, or see ' + 'https://github.com/git-for-windows/git/wiki/Symbolic-Links ' + 'for other options.') + return 'filesystem must support symlinks' + def _gitdir_path(self, path): return platform_utils.realpath(os.path.join(self.gitdir, path))