From f9b7683a3bf979d6cef50d691165280d64566ee4 Mon Sep 17 00:00:00 2001 From: Simon Ruggier Date: Fri, 31 Jul 2015 17:18:34 -0400 Subject: [PATCH] Include project path in --force-sync error message For projects that have been cloned outside of the repo command (or cloned a long time ago), commit abaa7f312f1b6c8d11d7c757fe909900ce5788b5 introduced an error message to invite the user to use --force-sync. However, due to the risk of data loss, it's useful to know which project's git directory is being replaced before deciding whether or not to provide --force-sync. This change updates the exception's associated value to include the project's relative path and explain to the user how they can resolve the issue. A previous version of this commit used the project name. However, for projects that have multiple work trees, the name can be ambiguous, while the path clearly identifies which git directory will be replaced. Change-Id: If717e66fda4d19accc0a8e889a91f4cd4ff14dff --- project.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/project.py b/project.py index 9cb7542e..fb9df2aa 100644 --- a/project.py +++ b/project.py @@ -2323,7 +2323,10 @@ class Project(object): # Fail if the links are pointing to the wrong place if src != dst: raise GitError('--force-sync not enabled; cannot overwrite a local ' - 'work tree') + 'work tree. If you\'re comfortable with the ' + 'possibility of losing the work tree\'s git metadata,' + ' use `repo sync --force-sync {0}` to ' + 'proceed.'.format(self.relpath)) def _ReferenceGitDir(self, gitdir, dotgit, share_refs, copy_all): """Update |dotgit| to reference |gitdir|, using symlinks where possible.