4

我正在尝试签出一个在 401 修订版中从我的 SVN 中删除的项目。该项目现在已失效,并已完全被重写代码所取代,但我想做一个签出,以便我可以参考在进行重写时对旧代码的小片段进行处理。

据我所知,这应该就像检查旧路径和最后一个好的修订版(400)一样简单。但是当我尝试这个时,我得到一个错误,因为它试图使用最新的版本:

C:\Users\couling\workspace>svn checkout --revision=400 https://svn.domain.com/repos/trunk/OldProject
Error validating server certificate for 'https://svn.domain.com:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: svn.domain.com
 - Valid: from Tue, 11 Dec 2012 15:03:33 GMT until Wed, 11 Dec 2013 15:03:33 GMT
 - Issuer: Personal Certificate, Foomy Whatsit, Blah, Blah, GB
 - Fingerprint: 01:02:03:04:05:06:07:08:09:10:11:12:13:14:15:16:17:18:19:20
(R)eject, accept (t)emporarily or accept (p)ermanently? t
svn: '/repos/!svn/bc/1418/trunk/OldProject' path not found

C:\Users\couling\workspace>

我可以通过网络浏览器轻松浏览到修订版 400 的文件夹,因此在最坏的情况下我仍然可以查看代码,但我更愿意为我的 IDE 提供所有源文件的副本。

作为参考,我正在使用此版本的客户端:

C:\Users\couling\workspace>svn --version
svn, version 1.6.16 (r1073529)
   compiled Mar  8 2011, 11:47:41

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.apache.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

如何签出现在已删除的文件夹?

编辑

为了消除疑问.... 上面的 checkout 命令使用语法--revision=400,因为这恰好是我在发布之前编写命令的最后一种方式。这是有效的语法,因为 svn 命令使用与 GNU getopt_long 兼容的库。我使用的版本确实和以下都是同义词-r 400 -r400 --revision 400 --revision=400。getopt 库将不同的变体都简化为一个结果。

碰巧,我在发布之前使用的最后一个命令的原因是我检查了所有变体以确认它与此问题无关。他们都有相同的结果。

4

2 回答 2

9

svn co --depth=infinity https://svn.domain.com/repos/trunk/OldProject@400

请参阅“SVNBook | Peg 和操作修订”

于 2013-04-08T10:32:45.527 回答
-1
  1. 当你使用 Operative Revision 时,你必须用空格来写:-r 400
  2. 可以使用 PEG-revision un URL 而不是 OR:https://svn.domain.com/repos/trunk/OldProject@400
  3. 为了在没有用户干预的情况下执行操作(对于证书),您可以添加到命令

... --non-interactive --trust-server-cert

样品

因为OP坚持坚持正确而不是RTFM并尝试

前提条件:http ://mayorat.ursinecorner.ru: 8088/svn/Hello/branches/Greetings 在当前 HEAD 中不存在,但在 r16 中

svn co -r 16 http://mayorat.ursinecorner.ru:8088/svn/Hello/branches/Greetings
svn: E160013: '/svn/Hello/!svn/rvr/37/branches/Greetings' path not found

svn co http://mayorat.ursinecorner.ru:8088/svn/Hello/branches/Greetings@16
A    Greetings\Hello.txt
 U   Greetings
Checked out revision 16.

svn co -r=16 http://mayorat.ursinecorner.ru:8088/svn/Hello/branches/
svn: E205000: Syntax error in revision argument '=16'
  • 根据最后的评论,我必须得到 / 分支的 HEAD,但是

>dir /b

Greetings

于 2013-04-08T10:38:55.120 回答