From ec287902e6517f0f7d11738f411d111c1ed06df1 Mon Sep 17 00:00:00 2001 From: Marc Herbert Date: Thu, 27 Oct 2016 12:58:26 -0700 Subject: [PATCH] _CheckDirReference: log actual error before suggesting --force-sync A recent backward incompatible change created confusion and loss of productivity and highlighted the very limited amount of information provided when repo sync fails; merely recommending to --force-sync and blow-up git repos without any hint as to why. The addition of this basic _error(...) call would have provided a clue and will in the future. BUG=Issue 232 TEST=simulate a breakage similar to the ones reported at https://groups.google.com/a/chromium.org/forum/#!topic/chromium-os-dev/2-0oCy_CX5s cd .repo/projects/src/third_party/libapps.git/ file info; rm info; ln -s wronglink info cd - repo sync src/third_party/libapps/ # error message now shows the failure Change-Id: Idd2f177a096f1ad686caa8c67cb361d594ccaa57 --- project.py | 1 + 1 file changed, 1 insertion(+) diff --git a/project.py b/project.py index 29638ef7..bbb052a3 100644 --- a/project.py +++ b/project.py @@ -2400,6 +2400,7 @@ class Project(object): src = os.path.realpath(os.path.join(srcdir, name)) # Fail if the links are pointing to the wrong place if src != dst: + _error('%s is different in %s vs %s', name, destdir, srcdir) raise GitError('--force-sync not enabled; cannot overwrite a local ' 'work tree. If you\'re comfortable with the ' 'possibility of losing the work tree\'s git metadata,'