Author: qbanke | Category: 默认分类
Comments: 评论关闭

今天从源代码安装了mercurial,本来可以用命令很简单的安装:
sudo apt-get install mercurial,但是安装以后发现版本比较老,所以决定从源代码安装。

官方网站:http://mercurial.selenic.com/wiki/
下载下来解压缩以后,里面有个README文件,打开以后按照说明来:

Basic install:

$ make                  
$ make install   
$ hg debuginstall 
$ hg          

安装完成后执行 hg debuginstall 时出现了错误:

hg –version
abort: couldn’t find mercurial libraries in [/usr/local/bin /usr/lib/python2.6 /usr/lib/python2.6/plat-linux2 /usr/lib/python2.6/lib-tk /usr/lib/python2.6/lib-old /usr/lib/python2.6/lib-dynload /usr/lib/python2.6/dist-packages /usr/lib/python2.6/dist-packages/PIL /usr/lib/python2.6/dist-packages/gst-0.10 /var/lib/python-support/python2.6 /usr/lib/python2.6/dist-packages/gtk-2.0 /var/lib/python-support/python2.6/gtk-2.0 /usr/local/lib/python2.6/dist-packages]
(check your install and PYTHONPATH)

解决方法:
export PYTHONPATH=/usr/local/lib/python2.4/site-packages
或者:
把上面的加到这两个文件中的一个: .bashrc、/etc/profile。然后就可以正常使用了。

 添加配置文件

此时再运行hg debuginstall ,会出现

Checking username…

no username supplied (see “hg help config”)

(specify a username in your .hgrc file)

1 problems detected, please check your install!

这是由于配置文件的原因

通过man hgrc会看到一些说明。默认是去一些位置找配置文件的。如果没有,就创建。源码中contrib文件夹下提供了一个sample.hgrc,可以拷贝过来修改

# cp sample.hgrc /root/.hgrc

# vim /root/.hgrc

这里改一下:

### show changed files and be a bit more verbose if True 

# verbose = True 

### username data to appear in comits

### it usually takes the form: Joe User <joe.user@host.com

username = Joe Who <j.user@example.com>

verbose = True 

### — Extensions

再运行hg debuginstall ,出现这个提示就可以了

Checking encoding (UTF-8)…

Checking extensions…

Checking templates…

Checking patch…

patching file hg-debuginstall-wCOuEs

Checking commit editor…

Checking username…

No problems detected

运行hg,出现

分布式软件配置管理工具 – 水银 (版本 1.5.0) 

版权所有 (C) 2005-2009 Matt Mackall <mpm@selenic.com> 和其他人。

这是自由软件,具体参见版权条款。这里没有任何担保,甚至没有适合

特定目的的隐含的担保。

REF: 

unixinstall

http://mercurial.selenic.com/wiki/UnixInstall

hgrc

http://www.selenic.com/mercurial/hgrc.5.html

这个工具在国内很少人使用,所以中文资料匮乏.只有官方的website上有一些少得可怜的中文资料了.不过总体上来说,hg还是比较好用的。

接下来开始 HG 的使用

1.建立用户hgrepo

其它用户将用这个账户用hg服务器push代码。

useradd hgrepo -d /home/hgrepo # add user hgrepo
passwd hgrepo

2.建立hg代码仓库

如果代码仓库名称为project.hg,则可用如下命令。

cd /home/hgrepo
mkdir project.hg
cd project.hg
hg init # 初始化代码仓库
建立一个测试文件

echo “hello, mercurial” > sample.txt
hg add  # add
hg ci     # check in

3. 打开http

打开一个端口,让远程用户可以clone仓库中的代码.
在打开端口前请确定文件权限正确。

更改文件权限
chown hgrepo.hgrepo /home/hgrepo/project.hg -R
chmod og+rw /home/hgrepo/project.hg -R
打开端口

cd  /home/hgrepo/project.hg -R
hg serve -p 8002 &
可将上面两行加入/etc/rc.local这样就可以在开机的时候自动运行了。

4.使用hg

完成步骤3以后,我们就可以使用了。

clone到本地

例如你的服务器的名字为test.

hg clone http://test:8002
然后在本地目录就会出现一个project.hg的一个copy.

修改Client端的配置

更改.hg/hgrc,加上default-push和username

[paths]
default = http://test:8002
default-push = ssh://hgrepo@test//home/hgrepo/project.hg/
[ui]
username=shaohui.zheng
这样你就可用hg push 向服务器提交code了。这时服务器会问你passward,这个password就是用户hgrepo的password.

Good Luck.

官方网站

http://www.selenic.com/mercurial/ 

另外还有个 Windows 下的客户端与其配合使用

TortoiseHg

http://www.oschina.net/p/tortoisehg

Author: qbanke | Category: Mysql, 默认分类
Comments: 评论关闭

ls

  ls 命令可以说是linux下最常用的命令之一。它有众多的选项,其中有很多是很有用的,你是否熟悉呢?下面列出了 ls 命令的绝大多数选项。

  -a 列出目录下的所有文件,包括以 . 开头的隐含文件。

  -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。

  -c 输出文件的 i 节点的修改时间,并以此排序。

  -d 将目录象文件一样显示,而不是显示其下的文件。

  -e 输出时间的全部信息,而不是输出简略信息。

  -f -U 对输出的文件不排序。

  -g 无用。

  -i 输出文件的 i 节点的索引信息。

  -k 以 k 字节的形式表示文件的大小。

  -l 列出文件的详细信息。

  -m 横向输出文件名,并以“,”作分格符。

  -n 用数字的 UID,GID 代替名称。

  -o 显示文件的除组信息外的详细信息。

  -p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通

  文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套

  接字(sockets)。

  -q 用?代替不可输出的字符。

  -r 对目录反向排序。

  -s 在每个文件名后输出该文件的大小。

  -t 以时间排序。

  -u 以文件上次被访问的时间排序。

  -x 按列输出,横向排序。

  -A 显示除 “.”和“..”外的所有文件。

  -B 不输出以 “~”结尾的备份文件。

  -C 按列输出,纵向排序。

  -G 输出文件的组的信息。

  -L 列出链接文件名而不是链接到的文件。

  -N 不限制文件长度。

  -Q 把输出的文件名用双引号括起来。

  -R 列出所有子目录下的文件。

  -S 以文件大小排序。

  -X 以文件的扩展名(最后一个 . 后的字符)排序。

  -1 一行只输出一个文件。

  –color=no 不显示彩色文件名

  –help 在标准输出上显示帮助信息。

  –version 在标准输出上输出版本信息并退出。

  只列出子目录

  1. ls -F | grep /$ 或者 alias sub = “ls -F | grep /$”(linux)

  2. ls -l | grep “^d” 或者 ls -lL | grep “^d” (Solaris)

  计算当前目录下的文件数和目录数

  下面命令可以分别计算当前目录下的文件和目录个数:

  # ls -l * |grep “^-”|wc -l —- to count files

  # ls -l * |grep “^d”|wc -l —– to count dir

  显示彩色目录列表

  打开/etc/bashrc, 加入如下一行:

  alias ls=”ls –color”

  下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:

  1. 蓝色–>目录

  2. 绿色–>可执行文件

  3. 红色–>压缩文件

  4. 浅蓝色–>链接文件

  5. 灰色–>其他文件

  ls -tl –time-style=full-iso sshd

  ls -ctl –time-style=long-iso

Top
RSS for entries