2017-11-11 104 views
-2

我正尝试在名称中包含美元符号的目录中创建一个mercurial存储库。这是我在Windows上获得10 CMD.EXE与善变4.1.3等效和简化的例子:在名称中包含美元符号的目录中创建mercurial repo

C:\test\dir1>hg init 

C:\test\dir1>hg status 

C:\test\dir1>cd ../dir$$1 

C:\test\dir$$1>hg init 

C:\test\dir$$1>hg status 
abort: repository C:\test\dir$$1 not found! 

,所以我希望这是明确的,唯一的区别似乎是在第二目录中的美元符号名称。提前致谢!

+0

看起来不起作用。你有什么问题? –

+0

如果您甚至找到使其工作的方法,这是各种头痛的秘诀。你为什么要这样做? –

+0

John,谢谢你的回应,对不起,我的问题没有明确说明。有没有办法让我可以在windows 10上使用名为美元符号的目录中的Mercurial?谢谢 –

回答

1

水银好像对待美元的迹象,环境变量转义:

C:\test>set X=abc 

C:\test>echo $X   # Not the shell expanding it, that would be %X%. 
$X 

C:\test>hg init $X 

C:\test>dir 
Volume in drive C has no label. 
Volume Serial Number is CE8B-D448 

Directory of C:\test 

11/10/2017 09:27 PM <DIR>   . 
11/10/2017 09:27 PM <DIR>   .. 
11/10/2017 09:27 PM <DIR>   abc 
       0 File(s)    0 bytes 
       3 Dir(s) 53,899,231,232 bytes free 

水银扩展$X作为环境变量。另外:

C:\test>hg init dir$$x 

C:\test>dir 
Volume in drive C has no label. 
Volume Serial Number is CE8B-D448 

Directory of C:\test 

11/10/2017 09:30 PM <DIR>   . 
11/10/2017 09:30 PM <DIR>   .. 
11/10/2017 09:30 PM <DIR>   dir$x 
       0 File(s)    0 bytes 
       3 Dir(s) 53,899,091,968 bytes free 

两个美元符号插入一个美元符号。当您位于名为dir$$x的目录中时,Mercurial正在使用dir$x作为名称。我发现与hg -R. status解决方法,但更好地避免美元符号。

+0

感谢Mark Tolonen非常清楚地演示了hg在这种情况下的工作原理。在提问之前,我应该看过[这些来自selenic的文档](https://www.selenic.com/mercurial/hg.1.html#specifying-file-sets)。将采取您的建议,并避免使用美元符号。谢谢 –