ardevd / gitwrap Goto Github PK
View Code? Open in Web Editor NEWWindows Wrapper for Linux git executable
License: MIT License
Windows Wrapper for Linux git executable
License: MIT License
The integration of git in Visual Studio Code (latest Insider) performs a couple commands that rely on the paths being returned as Windows paths.
The paths returned by gitwrap are those returned by the WSL git, thus being paths inside wsl.
My Project is installed in c:\projects\dockerfiles
. WSL is set up that c:
is mounted as /c
through /etc/wsl.conf
.
When i open the folder in VScode with gitwrap set up as the git.path
in the settings, the editor recognizes that it is a git repository and calls the following command:
gitwrap rev-parse --show-toplevel
This command returns /c/projects/dockerfiles
with gitwrap, but expects C:/projects/dockerfiles
as git for Windows would return.
As git is heavily reliant on SSH keys, it would be nice if gitwrap would be able to support WSL-Pageant (https://github.com/vuori/weasel-pageant), or equivalent function to supporting pageant.
WSL-Pageant works by inserting a snippet in .bashrc to start the ssh-ageant forwarder, however this doesn't appear to work with gitwrap leaving it of limited utility to me as my ssh keys are stored and managed with a pageant compatible agent (keepass w/ keeageant).
So it would be nice if this supported pageant forwarding from the WSL side.
GitWrap needs to translate directory paths from local Windows to the Linux environment. I havent gotten around to making it generic for all drive letters and currently only handle C:\ specifically. I'll take care of this at some point.
You have to escape whitspaces with "\ " in unix paths:
diff --git a/GitWrap/GitWrap/Program.cs b/GitWrap/GitWrap/Program.cs
index 9015502..56666a7 100644
--- a/GitWrap/GitWrap/Program.cs
+++ b/GitWrap/GitWrap/Program.cs
@@ -45,6 +45,8 @@ namespace GitWrap
// Convert Windows path to Linux style paths
argstr = argstr.Replace("\\", "/");
+ // Escape Whitespaces^M
+ argstr = argstr.Replace(" ", "\\ ");^M
argsString += " " + argstr;
}
This seems to happen occasionally.
Unhandled Exception: System.UnauthorizedAccessException: Access to the path 'C:\Users\user\AppData\Local\lxss\rootfs\tmp\gitwrap_output' is denied
No idea why it happens but restarting seems to solve it.
Running git --version
from WSL produces the following output:
$ git --version
git version 2.7.4
Running GitWrap.exe --version produces the following output:
GitWrap.exe --version
git version 2.7.4
Notice the extra linebreak. It might be an issue in certain use cases.
Hi! GitWrap does not support last version of windows 10 =\
Hi, I just tried both the latest release (quite behind the recent commits) and the latest commit build locally, but I am having no luck making SourceTree work with gitwrap.
I tried replacing embedded and system git.exe with gitwrap executable. The version is read correctly, so it recognizes the executable, however, the repositories show up empty (no commit history) and there are no error messages.
Any ideas/suggestions?
I run latest Windows 10 Pro with the Ubuntu 18.04 as my env
The mount point matches the default /mnt
Parenthesis "()" are not escaped when converted to Unix style paths.
Somehow gitwrap or cmd console don't handle colors correctly, see the difference between "wsl git" and gitwrap:
Anyway, can we have a new command option for gitwrap: --setGitOptions?
like, if I do
gitwrap --setGitOptions "-c color.ui=never --no-pager"
then gitwrap will always run git with -c color.ui=never --no-pager, instead of just git.
Android Studio does not work if I configure git as "gitwarp -c color.ui=never".
Hi,
When defining GitWrap.exe as the "path to Git executable", running "Test" will fails (no message, no timeout).
PS C:\Users\knux> C:\Apps\GitWrap.exe --version
git version 2.17.1
PS C:\Users\knux> C:\Apps\GitWrap.exe --getWslPath
[*] Current wslPath: /mnt/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.