SVNは引き続き競合していますか?


284

このディレクトリを競合から解放するにはどうすればよいですか?「theirs」または「mine」などを使用して解決されたかどうかは気にしません...

PS C:\Users\Mark\Desktop\myproject> svn ci -m "gr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

PS C:\Users\Mark\Desktop\myproject> svn resolve --accept working C:\Users\Mark\Desktop\myproject\addons
Resolved conflicted state of 'C:\Users\Mark\Desktop\myproject\addons'

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grr"
svn: Commit failed (details follow):
svn: Commit item 'addons' has copy flag but an invalid revision

PS C:\Users\Mark\Desktop\myproject> svn update
   C addons
svn: Can't move 'addons\debug_toolbar\templates\debug_toolbar\.svn\tmp\entries' to 'addons\debug_toolbar\templates\debug
_toolbar\.svn\entries': The file or directory is corrupted and unreadable.

PS C:\Users\Mark\Desktop\myproject> svn cleanup

PS C:\Users\Mark\Desktop\myproject> svn update
Skipped 'addons'
At revision 51.
Summary of conflicts:
  Skipped paths: 1

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grrr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

93
答えは:[svn resolve filename]これは、受け入れられた解決策ではなく、これを実行してください。
Travis Schneeberger、2011

1
@TravisSchneeberger受け入れられた解決策は罰金😉ある
のHi-エンジェル

svn resolved * filename *は私のためにそれを修正しません。
reinierpost

回答:


447

次のコマンドを入力します。

svn resolved <filename or directory that gives trouble>

(コメントのこの回答について@Jeremy Leipzigに感謝します)


35
真剣に、それがどのように解決されるかを気にしない場合(多分あなたはとにかくそれを削除するだけでしょう)、これは正しい答えです。
invertedSpear

1
これは何も解決しません。エラーはおそらく次のコミットで再び発生します。
Tadej 2017

どうもありがとう、それは私のために働きます!あなたはあなたのsvn rootリポジトリにいる必要があります、あなたはこのコマンドを使うことができます!
GeekHades 2017

276

修正方法は次のとおりです。

svn remove --force filename
svn resolve --accept=working  filename
svn commit

詳細はhttp://svnbook.red-bean.com/en/1.8/svn.tour.treeconflicts.htmlにあります


Eclipse IDEを使用している場合は、「非コマンドライン」ソリューションを適用することもできます。これについては、以下の別の回答で説明します。
Peter Wippermann 2013年

3
svn 1.7.4を使用すると、svn help resolveは、「svn resolve --accept working」を実行することで非推奨になりました」と述べています。
wreckgar23 2013

35

私にとっては--depth infinityオプションのみを元に戻しました Svnのディレクトリは矛盾した問題のままです:

svn revert --depth infinity "<directory name>"
svn update "<directory name>"

1
ファイルのディレクトリ全体を元に戻す、またはファイルが存在しない
biology.info

サーバー上に存在するローカルで削除されたファイルの競合を解決するには、このオプションでは、働いていました...
ネオ

1
どうもありがとう。「svn revert --depth infinity」私のために働いて、「svn up」だけでは再現されなかった削除済みファイルを復元しました
Rauli Rajande '25 / 11/18

16
  1. svn resolve
  2. SVNクリーンアップ
  3. svn update

..これらの3つのsvn CLIコマンドは、正しいディレクトリにcd-edしているときにこのシーケンスで機能しました。


@Elad Tabak:私の場合、問題を引き起こすファイルの親ディレクトリにそれをしなければならなかった、これはあなたが遭遇したものかもしれない
Jay Sullivan

11

Eclipse IDEを使用していて、コミット時にこのエラーに遭遇した場合は、以下がツール内ソリューションです。私はSubclipseを使用していますが、Subversiveのソリューションも同様です。

おそらく気づかなかったのは、競合するファイルに追加の記号があり、ファイルが実際に「競合している」とマークされていることです。

ファイルを右クリックし、「チーム」と「競合の編集...」を選択します。適切なアクションを選択します。以前にファイルをテキストレベルで手動でマージしたため、最初のオプションを選択しました。これは、ローカルコピーの現在の状態を「解決済みソリューション」として取得します。「OK」をクリックすると、それで終わりです。

競合するシンボルが消え、再度コミットできるはずです。


2
また、ディレクトリの競合が発生した場合は、「チーム->ツリーの競合の表示」を実行し、それらすべての競合を確認して解決済みとしてマークできます(別の「SVNツリーの競合」ウィンドウで)
altumano

6

以下のもう1つの解決策、

フォルダー全体が削除され、SVNが「admin file .svn is missing」というエラーをスローする場合、以下を使用して、競合を作業状態に解決します。

svn resolve --accept working "file / directory name "

3

Tortoise SVNの手順

このエラーが発生したディレクトリに移動します。変更がない場合は、以下を実行します

a。右クリックして「元に戻す」を行います
b。すべてのファイルを選択します
c。次に、ディレクトリを再度更新します


3

コマンドラインを使用して競合を解消するために次のコマンドを使用します

svn revert "location of conflict folder" -R
svn cleanup
svn update

現在のディレクトリを元に戻すため

svn revert . -R

はははは、これをしないでください。それは悪いことをします。
フクロウ

それは明らかにあなたの変更を元に戻すでしょう
Ujjwal Roy

実際には競合などの一部の問題に対して機能し、cliを介してのみ解決できます
zero8

2

(私のように)解決に問題があり、リソースに多くの変更を加えたためにリソースを削除および更新できず、ネイティブクライアントの代わりにEclipse破壊を使用している場合は、次の手順に従います。

  1. プロジェクトディレクトリ全体のコピーを作成する
  2. チームを実行>日食内で切断し、svnメタデータを削除することを選択します
  3. 次に、[チーム]> [プロジェクトの共有]を選択し、プロジェクトが存在するフォルダとまったく同じフォルダをポイントします
  4. [はい]を選択してすべてをコミットします(構成ファイルなどの非常にローカルなリソースを除外したい場合があります)
  5. 最初のコミットトライアルの前に一部のリソースを削除または移動した場合は、それらの古いリソースを削除して(1つは古い場所に、もう1つは新しい場所に)、それらの削除をコミットします。

完了です。


2

私は正しい解決策だと思います:

(1) backup your-file/your-directory
(2) svn revert your-file/your-directory
(3) svn update your-file/your-directory
(4) Merge the backup your-file/your-directory to the updated one.
(5) svn ci -m "My work here is done"

0

私は同様の問題がありました、これはそれが解決された方法です

xyz @ ip:〜/ formsProject_SVN $ svn 解決 formsProj / templates / search

'formsProj / templates / search'の競合状態の解決

次にプロジェクトを更新します

xyz @ ip:〜/ formsProject_SVN $ svn update

「。」を更新しています:

選択:(mc)影響を受けるローカルムーブを保持、(r)解決済みとしてマーク(ムーブを中断)、(p)延期、(q)解決を中止、(h)ヘルプ:r(解決するには「r」オプションを選択)

'formsProj / templates / search'の競合状態の解決

競合の概要:ツリーの競合:残り0(および1はすでに解決済み)


0

Linuxでも同じ問題が発生しましたが、承認された回答では修正できませんでした。を使用cdして正しいフォルダに移動してから実行することで解決できました:

svn remove --force filename  
syn resolve --accept=working filename  
svn up

それで全部です。


2行目ではありsvnませんsyn
ディエゴロメロロドリゲス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.