2011-11-30 59 views
0

歷史記錄: 我被要求編輯一些代碼。問題是沒有人能找到我們正在運行的代碼。到目前爲止,我們得到的最接近的是一個jar(僅包含.class文件)。我嘗試使用JAD反編譯並遇到問題。然後我嘗試了使用JADRetro和JAD進行反編譯(這個工作更好,到目前爲止我只看到一個問題......但我仍然擔心代碼的準確性)。 爲了將來的工作,我想把「代碼」放到SVN中。但我想知道如何做到最好。我有這個反編譯的代碼(缺少所有評論,質量未知),我有一個更早版本的實際源代碼(我們實際上並沒有運行)。針對丟失修訂版的項目的SVN最佳實踐

問題: 如果最好將代碼放到SVN中,因爲其中一個版本不錯,但是比較老,而且比較舊(而不是我們正在運行的版本);和另一個版本(由於至少一個反編譯錯誤)沒有正確重新編譯並且沒有任何註釋(被反編譯),但是正在運行(有點,因爲它沒有正確反編譯)。

我可以在原始代碼檢查,但後來我怎麼在「下一個版本」檢查(這是從後面的點反編譯的代碼,有變化(增加類,代碼改變,類改名的地段,班感動....))。如果我檢查第一個版本,然後刪除所有內容並檢查下一個版本(因爲我不編碼這些版本),我擔心這會混淆/損壞SVN。處理這種法庭修訂的最佳方法是什麼?

回答

1

最好是將反編譯的代碼簽入爲「下一個版本」。是的,會有很多變化,但是會有很多變化。

但是,SVN將包含整個項目歷史。是的,歷史上會有差距,但無論如何,SVN被用來追蹤歷史。因此刪除舊版本並從頭開始不是一種選擇。

+0

我不明白我該怎麼做。通常你檢入代碼並進行更改。在這裏我有兩個「快照」。我如何檢查第二張快照?我沒有在兩個版本之間進行編輯,添加,刪除,移動和重命名。這就是爲什麼我提到簽入,刪除所有內容,再次簽入(我知道這是邪惡的)。 –

+0

我假設你有相同的目錄結構和相同的文件名。然後,您可以簡單地簽入,使用新文件覆蓋舊文件,然後將它們簽出回SVN。但是,如果連文件名都不同 - 那麼是的,簽入,全部刪除,複製新文件和簽出。 – werewindle

+0

問題是你的假設是錯誤的。目錄結構大部分是相同的,但不完全相同的文件名...這是一個皇家的痛苦。我想對那些不改變位置/名稱的人來說,我可以做一個mv(用較新的快照跺跺舊的「版本」)並檢查新版本。 –