2010-04-14 61 views
1

我對代碼做了很多更改,在提交之前,我想要一個朋友進行審閱。有沒有一種方式與SVN採取我的工作副本的副本(捆綁包中的所有內容)並將我迄今爲止所做的更改應用到另一臺機器而無需提交?如何將我的工作副本的副本與他人分享?

過去,在另一個源代碼管理系統中,我能夠做到以下操作來「打包」和「解壓」我的更改。有沒有什麼類似的SVN?

sourcecontrol.exe pack myChanges.pack 
sourcecontrol.exe apply myChanges.pack 

謝謝!

回答

2

當然,您可以使用svn diff命令來創建patch file

svn diff >my-changes.patch 

您可以使用任何常用方法(因爲它只是一個文本文件)發送此修補程序文件給其他人審查。要應用更改,

patch <my-changes.patch 

請注意,如果您已經更改了任何非文本文件中,svn diff的默認行爲是忽略從補丁文件中的實際差異(因爲補丁文件本身是一個文本文件,不能包含其他類型的內容,如圖像)。

新一代分佈式版本控制工具(如Git和Mercurial)可以更加優雅地處理這些問題,包括共享多個提交(一組更改)的能力。

0

雖然可以導出所有你的工作拷貝(使用SVN的export功能),它是更好的提交到一個分支,讓與那支你的朋友差異,如​​果需要做選擇性修補。

這是適應正確的工作流程:始終讓您的版本提交到某個地方,這就是您首先使用VCS的原因! SVN分支很便宜,易於創建,一旦你不需要它們就容易忘記。但最重要的是,如果「意外」發生,他們很容易回覆。

0

不,你可以做的最好的事情就是創建一個分支。這是使用DVCS(如Git)的優點之一。如果你只是想分享差異,你可以運行svn diff,但如果有很多,這不會是一個方便的方式來查看和分享它。