Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

check out on Windows - Filename too long #35

Closed
paulvi opened this issue Apr 2, 2014 · 11 comments
Closed

check out on Windows - Filename too long #35

paulvi opened this issue Apr 2, 2014 · 11 comments

Comments

@paulvi
Copy link
Contributor

paulvi commented Apr 2, 2014

D:\workspaces\Enide-Studio-2014-011\tern.java-CRLF>git checkout -f HEAD
fatal: cannot create directory at 'eclipse/tern.eclipse.ide.server.nodejs.embed.linux.gtk.x86/nodejs/node-v0.10.22-linux-x86/lib/node_modules/npm/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream': Filename too long

FYI, on Windows 7 32bit

There were no such problem before on Windows.

@paulvi
Copy link
Contributor Author

paulvi commented Apr 2, 2014

It seems to be git version related.

@angelozerr
Copy link
Owner

@paulvi do you know how to resolve it?

@paulvi
Copy link
Contributor Author

paulvi commented Apr 10, 2014

It seems to be only on Win 32x
On Win 64 it is OK.

No way to resolve, just to know (add to README?) that there are long names, that on Windows can run into this problem.

@angelozerr
Copy link
Owner

Ok. I close this issue. Thank's to speak about this problem.

@gamerson
Copy link
Contributor

I see the same error and I'm on win64. Windows msysgit just can't handle
the long file names. But here is how we can solve it, because I had to
solve it this way.

  • don't check in the node files as a directory
  • instead check in a node.js zip file that contains the contents of the
    node/** directory
  • and then have some Plugin Activator code in the node bundles/fragments
    that first checks for a directory under the bundle
  • if the directory doesn't exist, then unzip the contents of the zip

Then we can check in the files without any problem. You can see some
example of this type of code here:
https://github.com/liferay/liferay-ide/blob/master/tools/plugins/com.liferay.ide.alloy.core/src/com/liferay/ide/alloy/core/LautRunner.java

The class LautRunner will check for existence of "laut" directory under the
OS fragments. If the directory doesn't exist it will unzip it and return a
path to the executable.

But see the fragment is empty:
https://github.com/liferay/liferay-ide/tree/master/tools/plugins/com.liferay.laut.win32.win32.x86_64

what do you think?

On Thu, Apr 10, 2014 at 8:43 PM, Paul Verest notifications@github.comwrote:

It seems to be only on Win 32x
On Win 64 it is OK.

No way to resolve, just to know (add to README?) that there are long
names, that on Windows can run into this problem.

Reply to this email directly or view it on GitHubhttps://github.com//issues/35#issuecomment-40073116
.

Greg Amerson
Liferay Developer Tools
Liferay, Inc. www.liferay.com

@gamerson
Copy link
Contributor

Angelo, can we reopen to continue this discussion? I believe I may be able
to contribute this functionality, because this problem is hurting me at the
moment, I can't see those OS fragments. msysgit fails on checkout.

On Thu, Apr 10, 2014 at 8:52 PM, Greg Amerson
gregory.amerson@liferay.comwrote:

I see the same error and I'm on win64. Windows msysgit just can't handle
the long file names. But here is how we can solve it, because I had to
solve it this way.

  • don't check in the node files as a directory
  • instead check in a node.js zip file that contains the contents of the
    node/** directory
  • and then have some Plugin Activator code in the node bundles/fragments
    that first checks for a directory under the bundle
  • if the directory doesn't exist, then unzip the contents of the zip

Then we can check in the files without any problem. You can see some
example of this type of code here:

https://github.com/liferay/liferay-ide/blob/master/tools/plugins/com.liferay.ide.alloy.core/src/com/liferay/ide/alloy/core/LautRunner.java

The class LautRunner will check for existence of "laut" directory under
the OS fragments. If the directory doesn't exist it will unzip it and
return a path to the executable.

But see the fragment is empty:

https://github.com/liferay/liferay-ide/tree/master/tools/plugins/com.liferay.laut.win32.win32.x86_64

what do you think?

On Thu, Apr 10, 2014 at 8:43 PM, Paul Verest notifications@github.comwrote:

It seems to be only on Win 32x
On Win 64 it is OK.

No way to resolve, just to know (add to README?) that there are long
names, that on Windows can run into this problem.

Reply to this email directly or view it on GitHubhttps://github.com//issues/35#issuecomment-40073116
.

Greg Amerson
Liferay Developer Tools
Liferay, Inc. www.liferay.com

Greg Amerson
Liferay Developer Tools
Liferay, Inc. www.liferay.com

paulvi pushed a commit to paulvi/tern.java that referenced this issue Apr 10, 2014
@paulvi
Copy link
Contributor Author

paulvi commented Apr 10, 2014

@gamerson I think that solution with .zip file should be open as new issue.

Other solution could be handling npm modules on runtime with npm or some alternative, i.e. not package them.

@gamerson
Copy link
Contributor

Agree, if Angelo would rather not host node all together that could be an option. If node is still going to be embedded, I would like to pursue the zip option.

angelozerr added a commit that referenced this issue Apr 10, 2014
@angelozerr
Copy link
Owner

I don't understand you rproblem, today we use zip file.

@paulvi
Copy link
Contributor Author

paulvi commented Jun 11, 2016

@natasha544 Please raise new issue

@AndrewJobel
Copy link

I recommend LongPathTool, Please try.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants
@gamerson @paulvi @angelozerr @AndrewJobel and others