我已经从Eclipse向SVN存储库提交了大量文件中的更改。
然后我转到linux机器上的website目录,在那里我想要将这些更改从存储库更新到那里的目录。
我想说"svn update project100“,它会用我所有添加和更改的文件更新"project100”下的目录,等等。
但是,我不想更新我没有做过的更改。所以我想我可以说"svn status project100“,但是当我这样做的时候,我得到了一个完全不同的列表,我的更改都不在列表中,这很奇怪。
因此,为了确保只有我的更改被更新到web目录,我被迫导航到我知道有更改的每个目录,并显式地只更新那些文件,例如"svn update newfile1.php“等,这很繁琐。
有人能解释一下这里的标准工作过程吗?也就是说,在执行"svn update“命令之前,如何获得将要进行的所有更改的准确列表?我还以为是"status“命令。
发布于 2008-10-08 14:08:35
尝试:
svn status --show-updates
或者(相同但更短):
svn status -u
发布于 2012-11-09 00:14:50
根据您希望了解的工作副本和最新的svn服务器存储库之间的内容,在不更新本地工作副本的情况下,您可以执行以下操作:
如果您想知道svn服务器存储库中发生了哪些更改,请运行以下命令:
$ svn st -u
如果您想知道本地工作副本和svn服务器存储库中是否修改了相同的文件,请运行以下命令:
$ svn st -u | grep -E '^M {7}\*'
如果想要获取在特定修订版本和标题之间更改的文件列表,请运行以下命令:
$ svn diff -r revisionNumber:HEAD --summarize
如果您想要获取特定版本之间更改的文件列表,请运行以下命令:
$ svn diff -r revisionNumber:anotherRevisionNumber --summarize
如果您想要查看要更新的内容(而不是实际更新),请运行命令:
$ svn merge --dry-run -r BASE:HEAD .
如果您想知道与您的工作副本相比,svn服务器存储库中特定文件的内容发生了哪些更改,请运行以下命令:
$ svn diff -r BASE:HEAD ./pathToYour/file
如果您想知道与您的工作副本相比,svn服务器存储库中所有文件的内容发生了哪些更改,请运行以下命令:
$ svn diff -r BASE:HEAD .
发布于 2008-10-08 14:07:08
https://stackoverflow.com/questions/182945
复制相似问题