相关疑难解决方法(0)

Windows中的Git符号链接

我们的开发人员使用基于Windows和Unix的操作系统.因此,在Unix机器上创建的符号链接成为Windows开发人员的问题.在windows(msysgit)中,符号链接将转换为文本文件,其中包含指向其所指向文件的路径.相反,我想将符号链接转换为实际的Windows符号链接.

我需要的(更新的)解决方案是:

  • 编写一个post-checkout脚本,以递归方式查找"symlink"文本文件.
  • 将它们替换为具有与虚拟"symlink"相同名称和扩展名的windows符号链接(使用mklink)
  • 通过在.git/info/exclude中添加条目来忽略这些windows符号链接

我没有实现这个,但我相信这是解决这个问题的可靠方法.

问题:

  1. 你对这种方法有什么不利之处呢?
  2. 这个结账后脚本是否可以实现?即我可以递归地找出git创建的虚拟"符号链接"文件吗?
  3. 有没有人已经在这样的脚本上工作过?

windows git symlink

227
推荐指数
11
解决办法
9万
查看次数

Git Bash Shell无法创建符号链接

当我尝试从Git Bash shell创建一个符号链接时,它每次都会失败:

$ ln -s /c/Users/bzisad0/Work testlink
ln: creating symbolic link `testlink' to `/c/Users/bzisad0/Work': Permission denied
Run Code Online (Sandbox Code Playgroud)

除了提供错误消息之外,它唯一能做的就是创建一个名为的空目录(在本例中)testlink.

我没有看到ln可执行文件有任何问题.例如,它由我拥有并标记为可执行文件:

$ which ln
/bin/ln

$ ls -hal /bin/ln
-rwxr-xr-x    1 BZISAD0  Administ      71k Sep  5 11:55 /bin/ln
Run Code Online (Sandbox Code Playgroud)

我也拥有当前目录(~,即/c/Users/bzisad0):

$ ls -dhal .
drwxr-xr-x  115 BZISAD0  Administ      40k Sep  5 12:23 .
Run Code Online (Sandbox Code Playgroud)

我有管理权限,我尝试用"以管理员身份运行"打开Git Bash shell,但这没有任何区别.

我尝试打开W​​indows属性ln.exe并将权限级别设置为"以管理员身份运行此程序",但这没有帮助.

我已经进入Windows中的安全性 - >高级属性,并使自己(而不是管理员组)成为所有者,但这也没有解决任何问题.

我不知所措.我不知道这个错误消息最终是来自lnBash,还是来自Windows,或者我怎么可能缺少权限.我怎样才能深究这一点?

msys msysgit

64
推荐指数
7
解决办法
4万
查看次数

如何在Android Studio中添加链接的源文件夹?

在Eclipse中,我可以将源文件夹添加到我的android项目中作为"链接的源文件夹".如何在Android Studio中实现相同的功能?

或者是否可以添加外部文件夹来构建gradle?

java gradle android-studio

61
推荐指数
2
解决办法
9万
查看次数

为Cygwin启用本机NTFS符号链接

最近的NTFS和Windows实现了符号链接:

  • NTFS连接点可以用作目录符号链接,因为NTFS 3.0(Windows 2000)使用linkdjunction工具.
  • 自Windows Vista使用mklink工具以来,NTFS符号链接也可用作符号链接(用于文件和目录).

但是在Cygwin 1.7(安装在Windows 7上)上,ln -s创建了一个文本文件.

在Cygwin上:

$ ln -s -v target mylink
`mylink' -> `target'
Run Code Online (Sandbox Code Playgroud)

在MinGW(或你最喜欢的编辑):

$ cat mylink
!<symlink>ÿþt a r g e t 
Run Code Online (Sandbox Code Playgroud)

是否有可能告诉Cygwing使用NTFS交接点NTFS符号链接

其他问题:MinGW上有这个吗?

symlink cygwin ntfs mingw ln

49
推荐指数
2
解决办法
2万
查看次数

Cygwin:使用包含windows路径的路径变量(其中包含空格)

我想在我的PATH中添加一些dirs.不幸的是,这些目录位于包含空间的Windows路径中(如文档和设置)

我没有尝试过:

创建一个变量:

43598811@E250BZD20015026 ~
$ winhome="/cygdrive/c/Documents\ and\ Settings/43598811/"

43598811@E250BZD20015026 ~
$ cd $winhome
bash: cd: /cygdrive/c/Documents\: No such file or directory    

43598811@E250BZD20015026 ~
$ cd "$winhome"
bash: cd: /cygdrive/c/Documents\ and\ Settings/43598811/: No such file or directory
Run Code Online (Sandbox Code Playgroud)

创建别名:

43598811@E250BZD20015026 ~
$ alias winhome="/cygdrive/c/Documents\ and\ Settings/43598811/"

43598811@E250BZD20015026 ~
$ winhome
bash: /cygdrive/c/Documents and Settings/43598811/: is a directory

43598811@E250BZD20015026 ~
$ cd winhome
bash: cd: winhome: No such file or directory
Run Code Online (Sandbox Code Playgroud)

使用软链接: 它正在工作......但我不想使用它

有什么建议吗?

bash configuration cygwin path

28
推荐指数
5
解决办法
5万
查看次数

编译最新的OpenSSL for Android

我正在尝试为Android的OpenSSL1.0.1c的(.so)文件生成共享库.我发现他们在Android脚本中添加了三个用于编译Android的选项.

./Configure android-armv7  (or)
./Configure android-x86    (or)
./Configure android
Run Code Online (Sandbox Code Playgroud)

一旦我配置了操作系统,然后尝试编译,它的抛出错误.目前我正在使用x86 windows7并安装了Cygwin,Android sdk R20,Android NDK r8

sh-4.1$ make
making all in crypto...
make[1]: Entering directory `/cygdrive/d/SourceCodes/OpenSSL/openssl-1.0.1c/crypto'
gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -march=armv7-a -mandroid -I/include -B/lib -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_MONT -DOP
ENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DGHASH_ASM   -c -o cryptlib.o cryptlib.c
cc1: error: unrecognized command line option "-mandroid"
cryptlib.c:1:0: error: bad value (armv7-a) for -march= switch
<builtin>: recipe for target `cryptlib.o' failed
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving …
Run Code Online (Sandbox Code Playgroud)

android openssl android-ndk

24
推荐指数
4
解决办法
5万
查看次数

如何使用cygwin创建交汇点?

这个问题表明cygwin的软链接与ntfs交叉点有些不同.我希望cygwin能够建立一个真正的交汇点.我想跑步mklink但是,地狱,没有mklink.exe显然,它是shell命令的一部分.在那里我被卡住了.

知道如何在脚本上做到这一点吗?

cygwin ntfs junction

4
推荐指数
1
解决办法
3414
查看次数