2012-07-03 86 views
4

我曾經工作的地方,我們使用Mercurial進行版本控制。我有一份新工作,我們在那裏使用Subversion。我是Subversion的新手。svn相當於hg

我發現自己想知道自從我在遠程回購上籤出以來簽入的內容。在Mercurial中,我會在中使用hg。這會向我顯示遠程可用的變更集,但不會顯示在本地回購站中。我如何在Subversion中做這樣的事情?也就是說,如何查找自上次合作/更新以來所做的更改?

從我的閱讀中,它看起來像svn更新用了很多,但我不希望我的工作副本被修改與誰知道什麼。我想在拉出之前看看那裏有什麼(如果有的話)。

感謝您的幫助。

回答

1

你可能想看到實際的承諾摘要作爲其中的一部分,並可以使用svn log

具體而言,您可以使用svn log -r HEAD:BASE查看從最新版本開始直到最新更新(包括最新更新)的所有提交。 (要查看最新的修訂版本,請交換HEAD和BASE。)

+0

對不起,我的無知,但只是爲了確保我跟着你:你是說svn日誌將查詢服務器和檢索最新的變更集信息?也就是說,即使是我上次更新後的信息?從我的Mercurial經驗來看,我習慣於僅記錄關於本地數據庫的信息。如果您確認我對您的「直到幷包括您的最新更新」聲明的理解是準確的,那麼您將獲得我的投票,我會接受這個作爲我的答案。 – firebush

+0

@firebush:這確實是正確的; svn日誌檢查服務器上的提交,而不是客戶端。 –

6

您可以使用下面的命令(here):

svn status -u 

svn status --show-updates 
0

你不能那樣做。在Subversion中,你沒有本地回購。您簽出的是工作副本,而不是存儲庫。

更新時,當您運行提交時將服務器的更改發送到服務器(即,提交+推送),您將從服務器獲取更改(即更新+提取)。無法在本地累積更改集,然後將它們發送到服務器。它全部直接到服務器或來自服務器。

如果您發現這個陳舊,請記住Subversion比Mercurial舊。大多數人從Subversion切換到git或Mercurial,而不是相反。 (我看到你這樣做,因爲你有一個新的僱主。)