2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org
.jetbrains
.idea
.svn
;
18 import com
.intellij
.openapi
.vcs
.FileStatus
;
19 import org
.tmatesoft
.svn
.core
.wc
.SVNStatus
;
20 import org
.tmatesoft
.svn
.core
.wc
.SVNStatusType
;
21 import org
.tmatesoft
.svn
.core
.SVNException
;
23 public class SvnStatusConvertor
{
24 private SvnStatusConvertor() {
27 public static FileStatus
convertStatus(final SVNStatus status
) throws SVNException
{
29 return FileStatus
.UNKNOWN
;
31 if (status
.getContentsStatus() == SVNStatusType
.STATUS_UNVERSIONED
) {
32 return FileStatus
.UNKNOWN
;
34 else if (status
.getContentsStatus() == SVNStatusType
.STATUS_MISSING
) {
35 return FileStatus
.DELETED_FROM_FS
;
37 else if (status
.getContentsStatus() == SVNStatusType
.STATUS_EXTERNAL
) {
38 return SvnFileStatus
.EXTERNAL
;
40 else if (status
.getContentsStatus() == SVNStatusType
.STATUS_OBSTRUCTED
) {
41 return SvnFileStatus
.OBSTRUCTED
;
43 else if (status
.getContentsStatus() == SVNStatusType
.STATUS_IGNORED
) {
44 return FileStatus
.IGNORED
;
46 else if (status
.getContentsStatus() == SVNStatusType
.STATUS_ADDED
) {
47 return FileStatus
.ADDED
;
49 else if (status
.getContentsStatus() == SVNStatusType
.STATUS_DELETED
) {
50 return FileStatus
.DELETED
;
52 else if (status
.getContentsStatus() == SVNStatusType
.STATUS_REPLACED
) {
53 return SvnFileStatus
.REPLACED
;
55 else if (status
.getContentsStatus() == SVNStatusType
.STATUS_CONFLICTED
||
56 status
.getPropertiesStatus() == SVNStatusType
.STATUS_CONFLICTED
) {
57 if (status
.getContentsStatus() == SVNStatusType
.STATUS_CONFLICTED
&&
58 status
.getPropertiesStatus() == SVNStatusType
.STATUS_CONFLICTED
) {
59 return FileStatus
.MERGED_WITH_BOTH_CONFLICTS
;
60 } else if (status
.getContentsStatus() == SVNStatusType
.STATUS_CONFLICTED
) {
61 return FileStatus
.MERGED_WITH_CONFLICTS
;
63 return FileStatus
.MERGED_WITH_PROPERTY_CONFLICTS
;
65 else if (status
.getContentsStatus() == SVNStatusType
.STATUS_MODIFIED
||
66 status
.getPropertiesStatus() == SVNStatusType
.STATUS_MODIFIED
) {
67 return FileStatus
.MODIFIED
;
69 else if (status
.isSwitched()) {
70 return FileStatus
.SWITCHED
;
72 else if (status
.isCopied()) {
73 return FileStatus
.ADDED
;
75 return FileStatus
.NOT_CHANGED
;