今天在打差異包的時候,發現打包失敗。原來是拷貝檔案失敗。
於是,打檔名與檔案狀態列印出來看,發現新增檔案的狀態“A”與刪除檔案狀態“M”調轉了!
這一度讓我以為是Perl傳遞引數的時候發生了錯誤。於是糾結在陣列引用傳遞的問題上,同時將程式碼優化了一下。
後來發現這不是辦法,因為實在不對勁。在本地進行若干嘗試後,發現,檔案在本地的狀態與伺服器的狀態也是相反的。
我用的命令是
git diff-tree HEAD HEAD^ --name-status
於是嘗試了將兩個Hash碼調轉,果然,狀態和伺服器一樣了。原來是參照物的問題,而不是Perl引用傳遞的問題!
git diff-tree HEAD^ HEAD --name-status
第一個Hash樹是引數物。