目前分類:Version Control (16)

瀏覽方式: 標題列表 簡短摘要

想把 commit log 匯出來做專案管理、上線記錄等,上網查了一下可以這樣做:

svn log --xml > repository.xml

不過我裝的是 Tortoise SVN,一開始 windows 的命令提示字元會說認不得 svn 這個指令。原來是 TortoiseSVN 預設不安裝 svn command line tool。

重新執行 TortoiseSVN 安裝程式,補安裝 command line client tools,就可以用命令提示字元(MS-DOS 視窗),切到程式所在目錄下,執行 svn log 了。

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

向來都做得很順利的 hg pull,昨天在 TortoiseHg 一直出現 error code 255,做到一半就中斷,會出現「cmdserver: 程序意外結束,代碼 255」。如果看詳細的錯誤訊息,裡面還有個錯誤是 "zstd.ZstdError: zstd decompressor error: Corrupted block detected"。

看不懂發生什麼事、也不知道要怎麼處理,本來想說沒辦法直接透過網路做 hg pull,想要叫對方包成包裹 (bundles) 寄給我,但在對方執行 hg bundle 時,她電腦上會出現另一款錯誤訊息:「abort: empty or missing file data for '某個檔案路徑.docx'」。

在對方電腦上切到工作目錄執行以下指令:

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

這天要用 TortoiseHg commit 時,GUI 介面卡住好久。改下 commit:

> hg commit -I myfile.txt -m "To do something"

結果系統顯示:

> waiting for lock on repository held by ''

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

幫新人設定 TortoiseHg,結果要加入擴充套件 "exportfiles" 時(設定請參考:[Mercurial] 讓 TortoiseHg 能夠匯出指定版本之間的差異檔案),卻顯示錯誤訊息:

*** 匯入額外套件 exportfiles 失敗,路徑為 D:\Programs\TortoiseHg\extensions\exportfiles.py: missing attributes: norepo, optionalrepo, inferrepo
*** (use @command decorator to register 'exportfiles')
文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

某專案要上傳到 Perforce 做版本控制,不過今天上線人員反映,我提供給他的程式清單、和他從 Perforce 匯出的檔案,有幾個檔案和我的大小不一致,不一致的檔案都足足差了 3 Bytes。

我的檔案列表是,用 C# 的 FileInfo 去取得 Length 後,輸出成上線人員想要的紙本表單:

FileInfo fi = new FileInfo(strFilePath);

小攻城師 發表在 痞客邦 留言(0) 人氣()

同事開了空資料夾,想要 clone 我這邊的專案,可是出現以下錯誤訊息:

[Errno 11004] getaddrinfo failed

後來發現是來源路徑 (source) 多了一個點 (.),改掉就好了,哈哈。原來是這個錯誤訊息指路徑不正確的意思啊。

 

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

把 Tortoise Hg 升級到 3.2.1 版(原本是 2.x),之前慣用的 exportfiles 套件就突然不能用了,錯誤訊息如下。

** Unknown exception encountered with possibly-broken third-party extension exportfiles
** which supports versions 2.2.2 of Mercurial.
文章標籤

小攻城師 發表在 痞客邦 留言(1) 人氣()

用了 TortoiseHg 好一陣子,大部分時候相安無事,但偶爾它也會鬧鬧脾氣。
像是今天要提交 (commit) 修改成果時,GUI 視窗就一直顯示停止運作,
我猜應該是因為要列出新舊檔案差異時發生了什麼錯誤吧?

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

因為預設的 kdiff 看中文很奇怪,要嘛是亂碼、要嘛是字疊在一起,所以決定還是來把 diff tool 換成 VIM 好了。今天就參考了 "Vim with VCS(Version Control System)" 這篇來做調整。

透過右鍵選單TortoiseHgGlobal Settings編輯檔案,開啟設定檔。然後把以下的設定值加進去。

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

TortoiseSVN 有個我非常喜歡的功能:可以匯出指定的兩個版本之間的差異檔案。比方說我從第三版到第十版只修改了 abc.html,那麼它就只會匯出這支檔案。這個功能在 TortoiseSVN 的詳細用法可以參考保哥寫的《如何讓 TortoiseSVN 僅匯出新增或修改過的檔案 》

但是,在 TortoieHg 好像只能匯出「最新版本與前一版之間的差異檔案」,我在它本身的功能裡找不到 TortoiseSVN 的這項功能哩。用了 TortoiseHg 一陣子,一直覺得這點非常困擾我。最近透過搜尋找到這篇文章:"TortoiseHg - How to export changed files",作者寫了一個擴充套件,有了這個套件就能輕鬆取出指定的檔案來。

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

在認識 TortoiseHg 之前,先來大概瞭解一下什麼是 Hg/Mercurial。下面這份投影片是 Willie 在 slideshare 上找到傳給我看的,感謝原作者分享出來哩,很簡潔好懂的投影片。

小攻城師 發表在 痞客邦 留言(0) 人氣()

在 TortoiseSVN 建立分支時跳出錯誤訊息 "Unable to open an ra_local session to URL",立刻上網查了錯誤訊息,找到這個討論串,看到最後一個人問的問題是「你建檔案庫了沒?」我一開始把方向想成要先建一個新的 repository,後來才發現應該是要在目前的 repository browser 把 trunk / tag / branches 這些資料夾開一開……

完整的 branch 操作方法可以參考保哥的《講解 Subversion 分支與合併:以 TortoiseSVN 為例 》。我的錯誤訊息是在第三張圖片(剛開始要做廉價複製到 branch/tag 時)出現的,激歡樂。想想 branch 應該也在同一個 repository 裡,就在 Repository Browser 把資料夾開一開、檔案搬一搬,就成功切換到分支了。

小攻城師 發表在 痞客邦 留言(0) 人氣()

最近開始試著用 TortoiseHg,但是遇到某些中文路徑會無法新增 (add)、提交 (commit) 檔案,畫面上的錯誤說是找不到路徑。問了同學以後才知道要設定 win32mbcs。

 

1. 右鍵選單 → TortoiseHg → Global Settings。

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

印象中,很久以前用 TortoiseSVN 試著針對 Word 做 diff,跳出來的會是 TortoiseMerge 視窗,顯示一大團看不懂的亂碼。之前心血來潮逛了一下嵌藝創研,網站的中間欄最底下有一些知識分享的文章,讓我眼睛為之一亮的標題是這個:《使用 TortoiseSVN 內建的 Diff 工具比對 Word 檔案》,讀完內文一方面覺得驚豔、另一方面又懷疑是不是得裝特定的 plugin 才能使用,於是動手實驗了一下,發現到我現在使用的版本就可以用這個功能了耶!

以下是我的實驗:

小攻城師 發表在 痞客邦 留言(0) 人氣()

Why Subversion?

先借用一下好同學 willie 的文章《專案管理:使用 Subversion (一)》

小攻城師 發表在 痞客邦 留言(0) 人氣()

(筆記是偷抄 willie 的,原文在這邊。^^a)

Subversion 是版本控制系統,可以將編修的資料檔案存放在中央檔案庫 (repository)。可以把它想成是一個實驗記錄簿 + 時光回溯器,除了可以記錄更新的概況(如果每次上傳時都有好好記錄更新內容的話),若有需要回溯到舊版本,server 上也存有備份。若資料檔案為純文字,還可以比較其內容,以決定下一步要將雙方內容合併,或摒棄衝突版本。

小攻城師 發表在 痞客邦 留言(0) 人氣()