2013-02-12 31 views
17

我知道,從命令提示符下,我可以做類似是否可以將我的工作副本與任意修訂進行比較?

svn diff -rXXX foo.bar 

foo.bar我的工作拷貝,修訂XXX即使此修訂是在合併後的分支進行比較。

我該怎麼做TortoiseSVN?它的工作原理就像過去在同一分支上我的WC而不是在不同的人的修訂魅力......

編輯:

多虧了羅布的答案我現在可以到一個文件中比較我工作副本到坐在合併分支上的過去版本。我想知道的最後一件事是,如果有可能手動合併一些差異文件,我的工作副本:

  • 當我用鼠標右鍵單擊給定文件的修訂版「顯示日誌」窗口並選擇「與工作副本比較」,差異查看器(或WinMerge在我的情況下)將舊版本中的文件的本地副本(以修訂號後命名,並存在於Windows臨時文件夾中)與我的實際值進行比較工作副本
  • 當我移位時,右鍵單擊這個文件並選擇「Diff with URL」,被比較的文件都是在Windows的臨時文件夾中進行本地複製,從而阻止我合併一些差異適用於我的工作副本...

是否有解決該問題的方法?

回答

20

您可以完成此操作的一種方法是在右鍵單擊要分析的工作副本中的文件時按住Shift鍵。選擇TortoiseSVN->帶URL的差異。這會彈出一個對話框,允許您將完整的服務器路徑名放入要分析的分支上。它也允許你指定修訂版本。這帶來了2個文件和差異的TortoiseSVN差異。

欲瞭解更多信息,你可以讀這個鏈接: Viewing Differences。這是在「與另一個分支/標籤的區別」部分特別提到的

+0

感謝您的回答!這正是我所尋找的東西,除了一件事情:烏龜讓我將我合併分支上的選定修訂與我的WC的_copy_進行比較,而不是直接與我的WC進行比較。這不是什麼大不了的事情,但它阻止我選擇一些手動合併的更改。任何想法我可以做到這一點? – 2013-02-13 08:00:31

+0

@YannickBlondeau你能舉個例子嗎?我沒有按照你的方案100%。當我在一份工作副本上進行測試時,我在本地工作副本上右鍵單擊一個文件,並將其與另一個分支上的文件的特定修訂版進行比較。如果您舉例說明您的情況,我可能會進一步提供幫助。 – 2013-02-13 13:02:43

+0

@Rob_Goodwin我編輯了我的問題。謝謝你的幫助!! – 2013-02-13 14:54:01

11

@ Rob的答案當然有效,但要求您查找然後鍵入一個可能長的URL。

  1. 在Windows資源管理器中打開目標文件的上下文菜單,並選擇TortoiseSVN >> Revision Graph:您可以只需輕點幾下鼠標,沒有打字都完成相同的任務。
  2. 圖形顯示後,單擊表示工作副本的節點。
  3. 控制 +單擊要比較的節點,可能是任意分支。
  4. 打開任一選定節點上的上下文菜單,然後選擇compare revisions

在圖中,修訂號22175是我在一個分支上的工作副本。我選擇不同分支上的節點18568進行比較 - 兩個節點均標記爲紫色正方形。

TortoiseSVN revision graph

2013年2月14日更新:比較工作拷貝,而不僅僅是工作的基礎!

雅尼克,謝謝你提醒我工作副本工作基礎區分。我之前的插圖的確在比較工作基地任何任意節點。修訂後的插圖顯示如何將工作副本與任意任意節點進行比較。爲此,請注意工具欄上最右側的兩個按鈕。黑色圓圈WC按鈕顯示並突出顯示工作底座,在本例中爲22175.紅色圓圈WC按鈕顯示並突出顯示工作副本,作爲標記爲Modified的特殊紅色節點。一旦你實現了這個節點,你現在有一個修改後的工作副本,你可以觸摸,抓取,摺疊,旋轉或者毀壞,只要你認爲合適!例如,您可以通過選擇修改先選擇工作基礎(本例中爲22175)並比較這些修訂來查看您的工作副本修改。

最後說明:選擇Modified節點時,順序非常重要!選擇Modified第一個然後控制+選擇要比較的節點。這給你一個compare revisions選擇上下文菜單。如果以相反方式進行操作,則只能選擇unified diff

+1

感謝您的回答!這是我在發佈之前嘗試過的內容,但如果我的工作副本包含未提交的更改,則它們不會顯示在差異中......因此,比較不是與我的工作副本進行比較,而是與我的工作副本進行比較。 – 2013-02-14 08:37:58

+0

這*看起來像一個比接受的答案更簡單的方式...但在我的情況下,有一個障礙 - 選擇「修訂圖」,現在正盯着「從存儲庫獲取信息」對話框,說「約1小時還有10分鐘「......不知道這是否會第二次更快,但它似乎是一個非常漫長的等待。 – 2018-01-16 09:32:46

0
  1. 右鍵單擊Windows文件資源管理器中的文件,然後單擊TortoiseSVN - > Show Log。
  2. 右鍵單擊需要比較的修訂版本,然後選擇「與工作副本進行比較」。
相關問題