2017-08-30 45 views
0

我想要在深层路径中找到一个文件。 a/b/c/d.py,是否可以使用单线程csh或bash脚本来执行以下操作?如果一个班轮是不可能的,我怎么用脚本来做呢?如何查看给定路径字符串的每个祖先目录?

# a b c directories do not exist in local working copy at the 
# beginning, and they contain other files and directories 
svn up a --depth empty 
svn up a/b --depth empty 
svn up a/b/c --depth empty 
svn up a/b/c/d.py --depth empty 

想象使用

someAliasOrScript a/b/c/d.py 

编辑:我使用的是SVN 1.7.1,我不能更新到最新的1.9.5

svn的一个/ B/C /d.py跳过'a/b/c/d.py' 冲突摘要: 跳过的路径:1

我内新签出的工作副本根目录

> svn info 
Path: . 
Working Copy Root Path: xxx 
URL: xxx 
Repository Root: xxx 
Repository UUID: xxx 
Revision: xxx 
Node Kind: directory 
Schedule: normal 
Depth: empty 
Last Changed Author: xxx 
Last Changed Rev: xxx 
Last Changed Date: xxx 

然后我试图SVN 1.9.5为好,误差

Skipped 'a/b/c/d.py' 
svn: E155007: None of the targets are working copies 
+0

你试过跑'SVN更新PATH-TO-FILe'?它应该没有任何特殊的脚本。我不明白你为什么问这个问题。 – bahrep

+0

它没有工作,所以我问了这个问题,是的,我试过了,看到更新的信息。 – Shuman

回答

1

您可以使用一个命令直接更新文件:

svn up a/b/c/d.py 

这只会更新d.py文件。

编辑:这只能用作更新工具。据我所知,你正在谈论做第一次结账。所以你需要做的:

svn co a --depth empty 
svn up a/b --depth empty 
svn up a/b/c --depth empty 
svn up a/b/c/d.py --depth empty 

这对我svn 1.9.7适用。当您更新文件时,可能会尝试执行svn up a/b/c/d.py而不是svn up a/b/c/d.py --depth empty

而且,这似乎是在那里你会希望只签出目录C的情况下(为什么具有多层?)

+0

由于某种原因,它不适用于我。检查我更新的错误信息 – Shuman

+0

编辑答案。 – Jon

+0

这并没有回答我的问题,我想在一行中完成这些命令,因为我不想一个接一个地完成它们。为了简化这个问题,我在原始问题中说过,我已经检查了最上面的本地工作目录,这意味着在'a'上面有另一个'root'目录,并且我运行了'svn co root --depth empty' – Shuman

相关问题