cvs2svn 實戰

我主要是參考這篇:HOWTO: smooth CVS to SVN migration (and back again)
基本上步驟還真的是…很簡單。
目前我先在Ubuntu上試驗,想說先搞定之後,再到 Windows server 上試試看。
首先得安裝cvs2svn

#sudo apt-get install cvs2svn

又,因為 Windows 上用的是CVSNT,我再安裝了CVSNT(是的,Ubuntu有包進去):

#sudo apt-get install cvsnt

接著把 Windows 上的 CVS Repository (除專案目錄之外,CVSROOT目錄也要!這是我踩到的第一個雷,如果你是整個搬,就不會有這困擾。)複製到 Linux 機上的 /work/cvs 放著,然後切換到該目錄下之後,輸入:

#cvs2svn -v -s /svn/my_new_project my_project

  • -v 表示 verbose
  • -s 指定 svn repository 位置,這邊不需要特別先執行 svnadmin create 去建立,cvs2svn會自動建,如果你已經有一份建好的,那麼你得加上 –existing-svnrepos
  • 最後是 cvs repository 位置

cvs2svn就開始跑啦~
過沒多久,cvs2svn告訴我:

ERROR: The command ‘[‘co’, ‘-q’, ‘-x,v’, ‘-p1.1’, ‘-kk’, ‘my_project/aaa/bbb/si_template,v’]’ failed with exit status: 1
and the following output:
co: my_project/aaa/bbb/si_template,v:28: unknown character `_’
co aborted

這個問題卡了我很久,我找不到原因。後來找到這篇討論串:error encountered with co: unknown character ‘_’,最後解法是使用 –use-cvs,也就是不要用 rcs 指令去處理 CVS repository,改用 cvs 指令去處理。
用了這參數以後,原本以為這下就都搞定了,但天不從人願,cvs2svn告訴我另外一個噩耗:

ERROR: The command ‘[‘cvs’, ‘-q’, ‘-R’, ‘co’, ‘-r1.1’, ‘-p’, ‘-kk’, ‘my_project/my_project.mak’]’ failed with exit status: 1
and the following output:
cvs [checkout aborted]: Cannot check out files into the repository itself

這問題又再次卡了我很久,我甚至去 trace cvs2svn 的 code…後來發現這完全是因為我的愚蠢所造成…反覆閱讀CVS–Concurrent Versions System – Troubleshooting之後,我終於知道原因,原來我不可以在 /work/cvs 下執行cvs2svn
於是我切到 /work,然後再執行一次就行了。最後指令如下:

cvs2svn –use-cvs -v -s /svn/my_new_project /work/cvs/my_project

參考資料:

後來整個弄完以後又發現的另外一份參考資料~冏:

我妹生日了
昨天她問我這個字:”啇”要怎麼打出來,今天,老婆以倉頡試出來了:
倉頡碼:卜金月口
注音:ㄉ一ˋ
僅以此字祝她生日快樂。

subversion 與 file:// protocol

在 Windows 上,想偷懶不架設 svn server 或 http server 的話,可以這麼作。
首先你得安裝TortoiseSVN
然後建立 repository,TortoiseSVN的方法是這樣子的:

  1. 先建立一個空目錄
  2. 再該目錄上按下滑鼠右鍵,選 TortoiseSVN > create repository here

建立成功之後,緊接著,再按下滑鼠右鍵,將這個目錄分享出來。
之後,到你的工作目錄,用TortoiseSVN去 check out
URL of repository 就打 file:////your_computer/your_share 即可。

Make Link 與 Digg This!

不知道裝了什麼 Addon 之後,Make Link得到的結果就錯了,每次要取頁面標題或是選取文字時,都會得到 “[object Object]”。
經過一番奮戰之後,終於發現 Make LinkDigg This! 都個別定義了 getSelectedText() 這個函數,Make Link因為呼叫到Digg This!的getSelectedText(),所以判斷的時候,就出錯,而得到 “[object Object]”。
所以只要移除掉Digg This!這個 Addon 之後就好了。
或者,你也可以自行為某 Addon 中的 getSelectedText() 作更名,再重新打包即可。

mod_rewrite

使用上很簡單,看mod_rewrite官方說明,應該就可以明白,要不也可以利用Google找到很多教學(關鍵字:mod_rewrite tutorial)。
要特別注意的一點,得記得把該目錄的 AllowOverride 設置為 All (Apache設定檔裡面)。
如果是 None 的話,mod_rewrite 不會生效。
像我的CentOS預設就是把 /var/www/html 的 AllowOverride 設置為 None,所以得去編輯 /etc/httpd/conf/httpd.conf ,找到 <Directory “/var/www/html”> … </Directory> 裡面的 AllowOverride,改為 All,再重新啟動 httpd 即可。

在 Ubuntu Linux 下製作 DVD

首要之務,當然是先作功課,運氣很好,在Digg看到了不錯的文章:Making DVD in Linux
文章裏面主要是介紹DVD styler這套軟體。
看到以後,當然是馬上來試試囉。很遺憾,在我的Ubuntu (Edgy)上裝不起來,官方也沒有對Ubuntu(Edgy)正式提供支援,他只支援到 Dapper 而已。
怎麼辦?就此打退堂鼓?
再次請Google大神出來幫忙,這時才發現,原來Ubuntu(Edgy)裏面已經有打包類似的軟體了,那就是DeVeDe
安裝方法:

sudo apt-get install devede vcdimager mencoder mplayer w32codecs dvdauthor gnomebaker

使用方法:

  1. 點取選單:應用程式 > 影音 ,執行 DeVeDe。
  2. 選取 Video DVD
  3. 右邊清單下有”新增”,會跳出另外一個對話盒,你可以從這邊去選取你要加入的影片,設置影片尺寸、縮放、輸出訊號(NTSC、PAL)等等。
  4. 加入以後,畫面下方會顯示你使用了多少空間。不過據我的經驗,整個放滿以後製作出來的 DVD ISO 檔才約 2.1G。點取右下角的”下一頁”之後,DeVeDe就會開始進行轉檔與製作 DVD ISO 。
  5. 最後再執行GnomeBaker來燒錄產生出來的 ISO檔案即可。

根據今天早上燒製出來的結果,確實可以拿到 DVD Player 上播放。實驗結果成功!
畫面:
Screenshot-DeVeDe (by elleryq)Screenshot-DeVeDe-File properties (by elleryq)

How to install Kyocera Mita KM-3035 in your Ubuntu Linux

公司用的印表機是Kyocera Mita KM-3035的四合一事務機,花了一點時間找到方法,讓它可以在 Linux 下使用。

  1. 請找到並下載 Kyocera_Mita_KM-3035_en.ppd. (用 Google 找!)
  2. 執行系統 > 管理 > 列印
  3. 選擇 “新增印表機”,選取”網路印表機”,然後再選取 HP JetDirect,填入 IP 位址,進入下一步
  4. 選擇”安裝驅動程式”,然後選到剛剛步驟一所下載的Kyocera_Mita_KM-3035_en.ppd,下一步
  5. 指定名稱、說明以後,選擇”套用”即可

接下來的操作其實很像 Windows,你可以用滑鼠右鍵選擇印表機,再選”屬性”去看印表機的各項設定,也可以列印測試頁。
如果覺得怪怪的,可以在終端機下執行 /etc/init.d/cupsys restart,讓 cups 重新載入設定。
我想其他類似 HP 的印表機應該也通用才對。