2012年5月3日

不想每次都去复制粘贴comment到editor,就在emacs里捣腾,LISP还不会用,不过总是凑出两个函数可以用了,可能很蹩脚,以后会用ELISP了再优化吧。

大概意思就是把每次提交的comment存到一个文件里,下次再加载commit msg 文件时,就从备份的文件里读出来。

保存的comment是Signed-off-by前面那一部分。

(defun my-load-file-mode ()
  (when (and (stringp buffer-file-name)
             (string-match "\\COMMIT_EDITMSG\\'" buffer-file-name))
    (when (file-exists-p "COMMIT_EDITMSG_1")
      (insert-file-contents  "COMMIT_EDITMSG_1" nil 0 500 )
      ))
      (set-buffer-file-coding-system  'utf-8))

(defun my-save-file-hook ()
  (when (and (stringp buffer-file-name)
             (string-match "\\COMMIT_EDITMSG\\'" buffer-file-name))
    (save-excursion
      (beginning-of-buffer)
      (write-region (point)
		    (progn
		    (re-search-forward "Signed-off-by")
		    (previous-line)(end-of-line)
		    (point)) "COMMIT_EDITMSG_1" nil nil nil nil))))

(add-hook 'find-file-hook 'my-load-file-mode)
(add-hook 'after-save-hook 'my-save-file-hook)

 

posted @ 2012-05-03 20:43 jianglili 阅读(6) 评论(0) 编辑

为了搞定git乱码问题,几乎把网上所有git乱码文章看了一遍,总算让我解决了。

我用的git和TortoiseGit版本:

msysgit: V1.7.9

http://msysgit.googlecode.com/files/Git-1.7.9-preview20120201.exe

Tortoisegit: V1.7.7.0

http://tortoisegit.googlecode.com/files/TortoiseGit-1.7.7.0-32bit.msi

发现不同的版本解决方法还不一样,之前试了一个最新版本,发现按网上的方法怎么弄都不行。后来下了这个旧的版本,一切OK。

下面是我的配置文件

C:\Documents and Settings\Administrator\.gitconfig
[http]
    sslverify = false
[user]
    name = xxx
    email = xxx@xxx.com
[alias]
    ci = commit -a -s
    co = checkout
    st = status -a
    praise = blame
    am3 = am --signoff --3way --ignore-space-change --keep-cr
[i18n]
    logoutputencoding = gbk
    commitencoding = utf-8
[core]
    editor = emacs
    quotepath = false
    autocrlf = false
[gui]
    encoding = utf-8
[diff]
    external = E:/git-diff-wrapper.sh
[svn]
    pathnameencoding = gbk

 

顺便说下,我用的diff是WinMerge,之前用的bc列入黑名单了,不想折腾了,直接用开源的。

E:/git-diff-wrapper.sh

#!/bin/sh

# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode

#"C:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
"C:/Program Files/WinMerge/WinMergeU.exe" -e -ub "$2" "$5" | cat

C:\Program Files\Git\etc\git-completion.bash

添加一行

alias ls='ls --show-control-chars --color=auto'

C:\Program Files\Git\etc\gitconfig

[core]
    symlinks = false
    autocrlf = false
[color]
    diff = auto
    status = auto
    branch = auto
    interactive = true
[pack]
    packSizeLimit = 2g
[help]
    format = html
[http]
    sslCAinfo = /bin/curl-ca-bundle.crt
[sendemail]
    smtpserver = /bin/msmtp.exe

[diff "astextplain"]
    textconv = astextplain
[rebase]
    autosquash = true

C:\Program Files\Git\etc\inputrc

set meta-flag on
set input-meta on
set output-meta on
set convert-meta off

C:\Program Files\Git\etc\profile

添加一行

export LESSCHARSET=utf-8

 

我用的editor是windows下的emacs.很好用。但是也存在乱码问题,在git bash中commit时,如果输入comment的是中文,可能会显示不能转换为utf-8,这可能和编辑器打开COMMIT_EDITMSG默认编码有关,并且当COMMIT_EDITMSG中有中文文件名时,emacs的编码总是c(U),也就是 chinese-gbk-unix。这会导致提交的comment在别处是乱码。我想了个笨方法,在emacs配置文件中每次加载文件时,设置使用utf-8编码:

C:\Documents and Settings\Administrator\.emacs

(defun set_encode_my ()
    (set-buffer-file-coding-system  'utf-8)
)
(add-hook 'find-file-hook 'set_encode_my)

 

 

posted @ 2012-05-03 20:20 jianglili 阅读(20) 评论(0) 编辑

2012年1月12日

    该文被密码保护。
posted @ 2012-01-12 14:22 jianglili 阅读(11) 评论(0) 编辑

2011年12月27日

看朱自清的匆匆,里面提到了8千多个日子,大概算了一下,是二十多岁写的,了不起啊。

想想我匆匆过了多少天呢,用shell算了一下,10009天

jiangli@jiangli-virtual-machine:~$ echo $(((($(date +%s -d 20111227) - $(date +%s -d 19840801)))/$((24*3600))))
10009

posted @ 2011-12-27 18:53 jianglili 阅读(5) 评论(0) 编辑

2011年12月26日

匆匆

朱自清

    燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:现在又到了哪里呢?

    我不知道他们给了我多少日子;但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我手中溜去;像针尖上一滴水滴在大海里,我的日子滴在时间的流里,没有声音,也没有影子。我不禁头涔涔而泪潸潸了。

    去的尽管去了,来的尽管来着;去来的中间,又怎样地匆匆呢?早上我起来的时候,小屋里射进两三方斜斜的太阳。太阳他有脚啊,轻轻悄悄地挪移了;我也茫茫然跟着旋转。于是——洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去;默默时,便从凝然的双眼前过去。我觉察他去的匆匆了,伸出手遮挽时,他又从遮挽着的手边过去,天黑时,我躺在床上,他便伶伶俐俐地从我身上跨过,从我脚边飞去了。等我睁开眼和太阳再见,这算又溜走了一日。我掩着面叹息。但是新来的日子的影儿又开始在叹息里闪过了。

    在逃去如飞的日子里,在千门万户的世界里的我能做些什么呢?只有徘徊罢了,只有匆匆罢了;在八千多日的匆匆里,除徘徊外,又剩些什么呢?过去的日子如轻烟,被微风吹散了,如薄雾,被初阳蒸融了;我留着些什么痕迹呢?我何曾留着像游丝样的痕迹呢?我赤裸裸来到这世界,转眼间也将赤裸裸的回去罢?但不能平的,为什么偏要白白走这一遭啊?

    你聪明的,告诉我,我们的日子为什么一去不复返呢?

posted @ 2011-12-26 11:11 jianglili 阅读(9) 评论(0) 编辑
仅列出标题  

导航

公告

统计