我剛剛使用 eclipse 重構了一個在 mercurial 中跟蹤的類名。我的 mercurial eclipse 插件是否正確跟蹤了我的重命名,或者我可以做些什么來幫助跟蹤它?我如何判斷它是否確實跟蹤?
hg rename a b
在 eclipse 執行重構之后,我現在似乎無法使用該命令。
Eclipse on Ubuntu 18.04
Version: 2022-03 (4.23.0)
hg --version
Mercurial Distributed SCM (version 4.5.3)
我猜 git 不需要處理這個,因為它是重命名檢測。
uj5u.com熱心網友回復:
我不確定 Eclipse 做了什么,但是您絕對可以檢查重命名是否正確記錄,如果沒有在事后手動記錄。
我在這里假設您尚未提交更改。
一種檢查方法是:在命令列上運行hg diff -g path/to/new/file
. 如果記錄了重命名,那么從差異中應該很明顯;要么您將看不到檔案的任何更改,或者至少是可識別的更改。但是如果它沒有被記錄為重命名,那么 diff 會認為整個檔案是全新的。
接下來,如果檔案重命名沒有被記錄,你可以這樣做:
hg mv -A path/to/original/filename path/to/renamed/filename
然后它將檔案視為重命名(例如,移動)。再次運行diff確認效果。
一個非常相似的情況是,如果您通過將檔案分解為多個部分來重構檔案。在這種情況下,您可以使用hg cp -A ...
(代替hg mv
)將原始檔案的所有衍生片段記錄為它的“副本”。這樣做的好處是,任何影響原始檔案的后續合并也將傳播到其所有派生檔案,這是跨副本/重命名跟蹤檔案歷史的主要好處之一。
uj5u.com熱心網友回復:
一種可能性是將addremove與--similarity
選項一起使用。
hg addremove --similarity 80
這通過相似性猜測檔案重命名。此選項采用 0(禁用)和 100(檔案必須相同)之間的百分比作為其引數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/457473.html