cupid-ide / cupid

Cupid IDE and Code Generation Tool for Earth System Models
Other
5 stars 6 forks source link

Remove sync error with Model E on windows #14

Open rsdunlapiv opened 10 years ago

rsdunlapiv commented 10 years ago

When trying to sync Model E files with a remote system, an error occurs when the client running Eclipse is Windows. It is failing on the directory 'aux'. For some reason that explicit directory name is disallowed on Windows. The error message received is "Invalid path: aux". This is a bug should be reported to the maintainers of the sync code.

rsdunlapiv commented 10 years ago

org.eclipse.jgit.dircache.InvalidPathException: Invalid path: aux at org.eclipse.jgit.dircache.DirCacheCheckout.checkValidPathSegment(DirCacheCheckout.java:1289) at org.eclipse.jgit.dircache.DirCacheCheckout.checkValidPath(DirCacheCheckout.java:1250) at org.eclipse.jgit.dircache.DirCacheCheckout.processEntry(DirCacheCheckout.java:312) at org.eclipse.jgit.dircache.DirCacheCheckout.prescanOneTree(DirCacheCheckout.java:291) at org.eclipse.jgit.dircache.DirCacheCheckout.doCheckout(DirCacheCheckout.java:409) at org.eclipse.jgit.dircache.DirCacheCheckout.checkout(DirCacheCheckout.java:394) at org.eclipse.jgit.api.MergeCommand.call(MergeCommand.java:255) at org.eclipse.ptp.internal.rdt.sync.git.core.JGitRepo.merge(JGitRepo.java:601) at org.eclipse.ptp.internal.rdt.sync.git.core.GitSyncService.doSyncRL(GitSyncService.java:695) at org.eclipse.ptp.internal.rdt.sync.git.core.GitSyncService.doSync(GitSyncService.java:604) at org.eclipse.ptp.internal.rdt.sync.git.core.GitSyncService.synchronize(GitSyncService.java:506) at org.eclipse.ptp.rdt.sync.core.SyncManager$SynchronizeJob.run(SyncManager.java:80) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Caused by: org.eclipse.jgit.errors.CorruptObjectException: invalid name 'AUX' at org.eclipse.jgit.lib.ObjectChecker.checkNotWindowsDevice(ObjectChecker.java:481) at org.eclipse.jgit.lib.ObjectChecker.checkPathSegment2(ObjectChecker.java:469) at org.eclipse.jgit.lib.ObjectChecker.checkPathSegment(ObjectChecker.java:440) at org.eclipse.jgit.dircache.DirCacheCheckout.checkValidPathSegment(DirCacheCheckout.java:1286) ... 12 more

rsdunlapiv commented 10 years ago

Further research reveals that Windows machines do not allow the directory 'aux' because it is a reserved word. The only workaround is for Model E to change their directory structure to not include an 'aux' directory. Apparently, no one is using Windows for Model E, so it is likely not a problem.

For the Model E cloud instance, we should either change the name of that directory or disallow creating a cloud instance from a Windows machine.

rsdunlapiv commented 9 years ago

I showed the bug to Eclipse PTP developer John Eblen. He was not aware of the issue, but requested that we file a bug report for future fix of PTP.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=446061