-
Notifications
You must be signed in to change notification settings - Fork 215
MSYS/MINGW Client Support (FINNALLY Working) #127
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this was compiled on regular Windows, do paths like /c/.../
even work?
Chrome support needs to be tested before this can be merged.
You were correct in questioning this, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs the relative path stuff from eargollo's PR so ~/file
on windows corresponds to ~/file
on the server instead of C:\Users\dean\file
. I understand you two wanted to combine your PRs into one.
The README's "OS support" section should be updated saying how to get it working on Windows.
@deansheather The issue i am seeing with his code, is that there is ATLEAST 100+ lines of code MISSING from his fork and the Mainstream Repo. Which means (to me atleast) i dont know if i can SAFELY add his code into mine and have it be update, which i have informed him of this and he is confused about it Also he has yet to get back to me on that EDIT: On local build, adding his code into mine manually does seem to work, but if i were to, for example |
That needs to be fixed then, should be as simple as stripping the msys paths. |
Yep, I just need to figure out how to do that... And rsync still isn't
working. At all.
…On Tue, Aug 6, 2019, 7:09 PM Dean Sheather ***@***.***> wrote:
That needs to be fixed then, should be as simple as stripping the msys
paths.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#127>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACPQOXUPELOUL7NFSBZJDR3QDIVEHANCNFSM4IGL5L3Q>
.
|
You should probably use |
@roberthmiller
Welp this is actually my first time even touching |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested this with Merith today on Windows 10 in a VM, using MINGW64 (from Git Bash):
- Syncing doesn't work, even with rsync installed:
2019-08-08 12:59:14 FATAL error: failed to sync settings: CreateFile //Users/dean/AppData/Roaming/Code/User: The network name cannot be found.
- SSH master connections don't work:
2019-08-08 12:52:25 INFO failed to stat ~/.ssh directory, disabling connection reuse feature: CreateFile ~\.ssh: The system cannot find the path specified.
- Slash paths (i.e.
/home/dean/folder
) don't work, but tilde/dot paths work (i.e.~/folder
,./folder
):bash: line 0: cd: too many arguments
My bad, forgot Windows doesn't have sockets. SSH master connections aren't really possible on Windows except in WSL. If the OS is Windows, we should skip the SSH directory check and not attempt to open a master socket. |
I am pretty sure that is what he was attempting to do with |
All skip sync does is make it not sync with `rsync`? Right? Or am I wrong?
Couldn't we use `scp`? I think it might have a sync directive. I may be wrong.
…On Wed, Aug 7, 2019, 8:33 PM Robert M ***@***.***> wrote:
I am pretty sure that is what he was attempting to do with --skip-sync,
but we would have to apply that by default on windows... Not sure if that
is a good idea or not (seems fine for me).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#127>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACPQOXWXFSF52B7QJESTH5LQDOHX7ANCNFSM4IGL5L3Q>
.
|
@roberthmiller I wasn't referring to sync when I said master connections don't work on Windows. Sync is definitely possible on Windows, and should work with rsync once the code that determines which directory to use locally is fixed. |
Updated with
issue, the code that converted the windows filepath to a linux compatable format was adding a extra in reference to @eargollo 's // gitbashWindowsDir translates a directory similar to `C:\Users\username\path` to `~/path` for compatibility with Git bash.
func gitbashWindowsDir(dir string) (res string) {
res = filepath.ToSlash(dir)
res = "/" + strings.Replace(res, ":", "", -1)
return res
} Specifically |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked, specifically to remove the annoying "requested changes" that left basically nothing
*Fixed Master SSH connection issue (Flat out Disabled if on windows) * *rsync is now the issue. |
It looks like the Why not exclusively use |
Quite possibly. Im testing to see if that entire code block, " My mingw install dir is example now its EDIT for your comment @roberthmiller : I dont know yet, Im still learning this programming language, but i am working on |
|
I MADE IT WORK!!! So rsync was trying to use
I cut off there becayse it was going to take FOREVER with all my extensions |
When i ran travis personally on this, i get this
|
But when i actually BUILD it. it has no issue? i built it and ran it myself. (Archlinux, windows10-mingw64) it didnt have any issues... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how do i make this "requested changes" GO AWAY!? IVE MADE THE CHANGES!
@roberthmiller I looked into your suggestion, that would work for git4windows as your home directory is Although i think i could implement the |
If you just need the home directory path, use os.UserHomeDir(). |
That's fine for git4win (uses your
But I shall check further, I still and trying to figure out just WHY Travis is failing despite the program compiling and running without any issue on actual systems (hell, it still works on my android phone. Chrome doesn't work but every thing else does as expected) |
FROM THIS POINT ON, THE PUSHES ARE JUST GOING TO BE SHILLED TO TRY AND GET IT TROUGH THE BLOODY PIPELINE WHILE ALSO NOT BREAKING SUPPORT FOR SYSTEMS |
closing this to make a CLEANER PR |
EDIT: OLD IMAGES HAVE BEEN REDUCED TO LINKS TO SAVE POST SPACE
Basically, I have made
sshcode
run properly onmsys/mingw
enviroments,TL;DR
msys
/cygwin
based enviromentsmsys
/cygwin
based enviromentscmd.exe
does not work yet due to how sshcode callsssh
Summary of my edits
main.go
> Added filepath conversion, (thanks @eargollo )settings.go
> added default paths for VSCode data on windowssshcode.go
> copied and slightly tweaked thewslPath
to match awindows
enviroment for accessing theC:\
drive.TODO
cmd.exe
ssh
on windows even if it is in%path%
sshcode
calls thessh
commandattached image is of it building and running (first working release,)
https://user-images.githubusercontent.com/10422110/61765201-ef1c0e80-ad90-11e9-87cb-b46e6dc2a909.gif
This image is of the second build working just fine, Note, yes i did have to drag the window over from the side, that is because i have two monitors, and for some reason my mouse wasnt recorded so... thats a thing
https://user-images.githubusercontent.com/10422110/62153007-8533c580-b2b8-11e9-9d2b-03e25af9bbd0.gif
8-9-2019, 1211
-7PST
This build has the sshMaster fix (i didnt bother building it again just for the example as it would take FOREVER as seen in previous pictures, and sorry for horrible quality,)
https://user-images.githubusercontent.com/10422110/62803352-094b3180-ba9f-11e9-818f-4c4b93fb60ed.gif
8-9-2019, 1308
-7PST
this build is a work in progress, some users may have to modify
main.go
to match their setups. otherwisesshcode --skipsync user@server /<choosen filepath>
works. In the example i open/opt
on the serverhttps://user-images.githubusercontent.com/10422110/62806173-f50b3280-baa6-11e9-8438-71a5aa6d7104.gif
8-9-2019, 1358
-7PST
Not going to upload gif, would take to long, but rsync now works provided its installed and in path
UPDATE: DESPITE WHAT TRAVIS SAYS, IT WORKS, AND BUILDS JUST FINE