@Override protected void updateStatus(Attributes attributes, PortableStatus status, Lock.Builder lock) throws SAXException { final StatusType propertiesStatus = parsePropertiesStatus(attributes); status.setRemotePropertiesStatus(propertiesStatus); final StatusType contentsStatus = parseContentsStatus(attributes); status.setRemoteContentsStatus(contentsStatus); }
private void newPending(final Convertor<File, Info> infoGetter) { final PortableStatus status = new PortableStatus(); myPending = status; status.setInfoGetter( new Getter<Info>() { @Override public Info get() { return infoGetter.convert(status.getFile()); } }); }
@Override protected void updateStatus(Attributes attributes, PortableStatus status, Lock.Builder lock) throws SAXException { final String path = attributes.getValue("path"); assertSAX(path != null); final File file = SvnUtil.resolvePath(myBase, path); status.setFile(file); final boolean exists = file.exists(); if (exists) { status.setKind(exists, NodeKind.from(file.isDirectory())); } else { // this is a hack. This is done so because of strange svn native client output: /* c:\TestProjects\sortedProjects\Subversion\local\withExt82420\mod4>svn st --xml <?xml version="1.0" encoding="UTF-8"?> <status> <target path="."> <entry path="mod4"> <wc-status props="none" item="unversioned"> </wc-status> </entry> </target> </status> while c:\TestProjects\sortedProjects\Subversion\local\withExt82420\mod4>dir Volume in drive C has no label. Volume Serial Number is B4EA-B379 Directory of c:\TestProjects\sortedProjects\Subversion\local\withExt82420\mod4 03/09/2012 05:30 PM <DIR> . 03/09/2012 05:30 PM <DIR> .. 03/09/2012 05:30 PM 437 mod4.iml 03/09/2012 05:30 PM <DIR> src and no "mod4" under */ final StatusType ns = status.getNodeStatus(); if (myBase.getName().equals(path) && !StatusType.MISSING.equals(ns) && !StatusType.STATUS_DELETED.equals(ns)) { status.setKind(true, NodeKind.DIR); status.setFile(myBase); status.setPath(""); return; } status.setKind(exists, NodeKind.UNKNOWN); } status.setPath(path); }
@Override protected void updateStatus(Attributes attributes, PortableStatus status, Lock.Builder lock) throws SAXException { final String revision = attributes.getValue("revision"); if (!StringUtil.isEmpty(revision)) { status.setCommittedRevision(SVNRevision.create(Long.valueOf(revision))); } }
@Override protected void updateStatus(Attributes attributes, PortableStatus status, Lock.Builder lock) throws SAXException { final StatusType propertiesStatus = parsePropertiesStatus(attributes); status.setPropertiesStatus(propertiesStatus); final StatusType contentsStatus = parseContentsStatus(attributes); status.setContentsStatus(contentsStatus); if (StatusType.STATUS_CONFLICTED.equals(propertiesStatus) || StatusType.STATUS_CONFLICTED.equals(contentsStatus)) { status.setIsConflicted(true); } // optional final String locked = attributes.getValue("wc-locked"); if (locked != null && Boolean.parseBoolean(locked)) { status.setIsLocked(true); } final String copied = attributes.getValue("copied"); if (copied != null && Boolean.parseBoolean(copied)) { status.setIsCopied(true); } final String treeConflicted = attributes.getValue("tree-conflicted"); if (treeConflicted != null && Boolean.parseBoolean(treeConflicted)) { status.setIsConflicted(true); } final String switched = attributes.getValue("switched"); if (switched != null && Boolean.parseBoolean(switched)) { status.setIsSwitched(true); } final String revision = attributes.getValue("revision"); if (!StringUtil.isEmptyOrSpaces(revision)) { try { final long number = Long.parseLong(revision); status.setRevision(SVNRevision.create(number)); } catch (NumberFormatException e) { throw new SAXException(e); } } }