2017-08-30 3 views
0

深いパスの内側でファイルをsvnしたいです。 a/b/c/d.pyでは、以下を行うためのライナーcshまたはbashスクリプトを1つ作成することは可能ですか? 1つのライナーが不可能な場合は、スクリプトでどのように行うのですか?私はSVN 1.7.1を使用しています、と私は、最新の1.9.5/B/Cをアップsvnのパス文字列を指定して各祖先ディレクトリをsvnする方法はありますか?

に更新することはできません。使用方法

someAliasOrScript a/b/c/d.py 

編集を想像

# 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 

/d.py 'a/b/c/d.py'をスキップ 競合の概要: スキップされたパス:1

私は内部のだ、私はSVNしようとした、新た次にコピールートディレクトリ

> 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 

作業チェックアウト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 --depth emptyの代わりにsvn up a/b/c/d.pyを実行してみてください。

はまた、これはあなたが唯一のフォルダCをチェックアウトしたいと思う場合は、(なぜ複数の層を有する?)そうです

+0

何らかの理由で私のために働かない。更新されたエラー情報を確認してください – Shuman

+0

答えを編集しました。 – Jon

+0

これは私の質問に答えることができませんでしたので、私はそれらを1つずつアップしたくないので、これらのコマンドを1行で完了したいと思います。そして、質問を簡略化するために、私は最初の質問で、最上位の作業ディレクトリをチェックしました。つまり、 'a'の上に別のルートディレクトリがあり、' svn co root --depth空 – Shuman

関連する問題