[Syncing problem] The requested local path for project sits inside another folder, which git will not permit

Hi,
I’m using Py3 (version PsychoPy-3.0.0b7) on a Mac (macOS High Sierra 10.13.6).
While I was trying to upload a test experiment with one simple trial, I’ve got this error message from the terminal:

Last login: Sat Aug 18 10:21:47 on ttys000
MBPdiVaerioCori:~ utente$ /Applications/PsychoPy3.app/Contents/MacOS/PsychoPy3 ; exit;
12:41:27 PM: Debug: Adding duplicate image handler for ‘Windows bitmap file’
12:41:27 PM: Debug: Adding duplicate image handler for ‘Windows bitmap file’
12:41:27 PM: Debug: Adding duplicate animation handler for ‘1’ type
12:41:27 PM: Debug: Adding duplicate animation handler for ‘2’ type
12:41:27 PM: Debug: Adding duplicate image handler for ‘Windows bitmap file’
12:41:27 PM: Debug: Adding duplicate animation handler for ‘1’ type
12:41:27 PM: Debug: Adding duplicate animation handler for ‘2’ type
objc[6601]: Class FIFinderSyncExtensionHost is implemented in both /System/Library/PrivateFrameworks/FinderKit.framework/Versions/A/FinderKit (0x7fff9f930c90) and /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride.bundle/Contents/MacOS/FinderSyncCollaborationFileProviderOverride (0x118425cd8). One of the two will be used. Which one is undefined.
PsychoJS doesn’t support win.callOnFlip() for keyboard
Traceback (most recent call last):
File “/Applications/PsychoPy3.app/Contents/Resources/lib/python3.6/psychopy/app/pavlovia_ui/project.py”, line 166, in submitChanges
self.project.getRepo(forceRefresh=True)
File “/Applications/PsychoPy3.app/Contents/Resources/lib/python3.6/psychopy/projects/pavlovia.py”, line 714, in getRepo
.format(repr(self.localRoot), repr(gitRoot)))
AttributeError: The requested local path for project
‘/Users/utente/Downloads/prova py3’
sits inside another folder, which git will not permit. You might like to set the project local folder to be
‘/Users/utente’
Traceback (most recent call last):
File “/Applications/PsychoPy3.app/Contents/Resources/lib/python3.6/psychopy/app/builder/builder.py”, line 2256, in onPavloviaSync
pavlovia_ui.syncProject(parent=self, project=self.project)
File “/Applications/PsychoPy3.app/Contents/Resources/lib/python3.6/psychopy/app/pavlovia_ui/project.py”, line 444, in syncProject
if project.getRepo(forceRefresh=True) is None:
File “/Applications/PsychoPy3.app/Contents/Resources/lib/python3.6/psychopy/projects/pavlovia.py”, line 714, in getRepo
.format(repr(self.localRoot), repr(gitRoot)))
AttributeError: The requested local path for project
‘/Users/utente/Downloads/prova py3’
sits inside another folder, which git will not permit. You might like to set the project local folder to be
‘/Users/utente’

What does this mean? I’ve tried to set the local folder in ‘/Users/utente’ as asked, but I get the same result.
I can see that the project has been successfully created in Pavlovia, but the repository is empty. In Py3 the syncing process is stuck. What should I do?
Thank you in advance for your kind answers.
Valerio

3 Likes

I’m having the same problem in Windows:

File “C:\Program Files (x86)\PsychoPy3\lib\site-packages\psychopy\app\pavlovia_ui\project.py”, line 364, in onSyncButton
self.project.sync(syncPanel=syncPanel, progressHandler=progHandler)
File “C:\Program Files (x86)\PsychoPy3\lib\site-packages\psychopy\projects\pavlovia.py”, line 596, in sync
self.repo = self.getRepo(forceRefresh=True)
File “C:\Program Files (x86)\PsychoPy3\lib\site-packages\psychopy\projects\pavlovia.py”, line 714, in getRepo
.format(repr(self.localRoot), repr(gitRoot)))
AttributeError: The requested local path for project
‘C:/Users/KJP/Documents/Research/Voice MDS/Voices’
sits inside another folder, which git will not permit. You might like to set the project local folder to be
‘C:/Users/KJP’

That made me angry, so I decided to remove all other folders from the equation and put the Voices folder directly into the C: drive. Then I get this:

File “C:\Program Files (x86)\PsychoPy3\lib\site-packages\git\cmd.py”, line 415, in wait
raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd(‘git’) failed due to: exit code(128)
cmdline: git clone -v Sign in · GitLab C:/Voices
stderr: 'fatal: destination path ‘C:/Voices’ already exists and is not an empty directory.

@valeriocori, I get that error if I am trying to create a repository in a folder that has a git repository (and has a .git folder) in one of the parent folders. If you cannot see any git folders, go to the File menu in Windows explorer, and change folder and search options so that hidden folders are visible. Try deleting the .git directory and attempt the sync again. If that does not work please let me know.

1 Like

@kjakepatten, the above also applies, but the second error means that the destination folder for the clone needs to be empty, so C:\ as a destination will not work. Create a new folder, with no .git folders in the parent directories and try again.

Thanks for the reply, @dvbridges.

I made a new folder, voiced, in the C: drive and tried that but met with the same error:

File “C:\Program Files (x86)\PsychoPy3\lib\site-packages\git\cmd.py”, line 415, in wait
raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd(‘git’) failed due to: exit code(128)
cmdline: git clone -v Sign in · GitLab C:/voiced/Voices
stderr: 'fatal: destination path ‘C:/voiced/Voices’ already exists and is not an empty directory.

By the way, you will need to download version PsychoPy-3.0.0b9, to ensure you have the most up to date version with all known issues fixed. @kjakepatten and @valeriocori download the latest version and let me know if you are still having the problem (unless @kjakepatten you already have the most recent version).

@dvbridges It worked, but I had to use a command on the terminal to get rid of the .git folders. The command is: sudo rm -R .git
Now I was able to sync my projects but they still don’t run online.
Anyway we can consider this problem solved. Thank you so much for your work.