4

我们有一个由 SVN 支持的 Intranet 站点,因此该站点是存储库的检出副本(仅由 IIS 使用的工作文件夹)。今天网站上的某些东西引起了问题,我想知道如何找出在过去 48 小时内签出到该工作文件夹的内容。

更新:如果有一个选项我需要打开以在将来启用它,它是什么?

另外,作为一个必然的问题,如果我必须使用文件创建时间,我怎样才能以递归方式快速地为一个大文件夹做到这一点?


如果我必须检查创建时间,那么这个问题也将对解决方案有所帮助。

4

4 回答 4

2

您可以在本地文件上使用创建日期。您不能使用修改日期,因为 Subversion 在结帐时将其设置为最后更改。

Subversion也可以记录结帐,但那是服务器端的

于 2008-09-10T19:33:35.710 回答
2

web 文件夹中的所有代码都应该由 SVN 提交支持,不是吗?

如果是这种情况,您应该能够轻松地通过查看您提交的最后几个更改的 SVN 日志来跟踪问题。 svn info将告诉您当前工作副本的修订版本,因此您知道从哪里开始查找

一旦你追踪到包含 bug 的提交,你就可以svn blame找到做它的人,并向他们解释他们忽略了什么以及他们是如何导致 bug 的。然后你可以让他们为搞砸网站的每个人买午餐。

如果您在本地修改/添加了任何不在 SVN 中的文件,那么svn statsvn diff将向您展示这些更改是什么,这样您就可以确定它们是否也导致了问题。然后,您应该恢复这些更改,以便您的工作副本是一个干净的签出,或者将更改提交到存储库中。

没有什么比试图追踪代码中的错误更糟糕的了,但在 3 小时后才发现该错误实际上并不存在于您的任何代码中,而是在一些愚蠢的本地调整中,有人在工作副本中进行了从未提交过的操作:- (

于 2008-09-10T20:56:39.240 回答
1

取决于您访问 SVN 存储库的方式 - 如果您以 file:// URL 的形式访问它,我认为您不走运。但是,如果您使用 svnserve 或其中一个 HTTP 网关,您应该能够检查您的服务器日志以访问 SVN url。

于 2008-09-10T20:14:03.990 回答
0

我会在 web 文件夹中运行一个svn st(以查找自检出后更改的任何文件)并将其与存储库进行比较。

于 2008-09-10T20:27:20.637 回答