private void listExternals(SVNRepository repository, Map<SVNURL, SVNPropertyValue> externals, SVNDepth depth, int entryFields, boolean fetchLocks, ISVNDirEntryHandler handler) throws SVNException { for (Map.Entry<SVNURL, SVNPropertyValue> entry : externals.entrySet()) { SVNURL externalParentUrl = entry.getKey(); SVNPropertyValue externalValue = entry.getValue(); SVNExternal[] externalItems = SVNExternal.parseExternals(externalParentUrl, SVNPropertyValue.getPropertyAsString(externalValue)); if (externalItems == null || externalItems.length == 0) { continue; } listExternalItems(repository, externalItems, externalParentUrl, depth, entryFields, fetchLocks, handler); } }
SVNExternal[] previous = oldValue != null ? SVNExternal.parseExternals(diffPath, oldValue) : null; SVNExternal[] current = newValue != null ? SVNExternal.parseExternals(diffPath, newValue) : null; Map oldParsedExternals = new LinkedHashMap(); Map newParsedExternals = new LinkedHashMap();
SVNExternal[] previous = oldValue != null ? SVNExternal.parseExternals(diffPath, oldValue) : null; SVNExternal[] current = newValue != null ? SVNExternal.parseExternals(diffPath, newValue) : null; Map oldParsedExternals = new LinkedHashMap(); Map newParsedExternals = new LinkedHashMap();
for(File defPath : storage.getNewExternals().keySet()) { String externalDefinition = storage.getNewExternals().get(defPath); SVNExternal[] externals = SVNExternal.parseExternals(defPath, externalDefinition); for (int i = 0; i < externals.length; i++) { File targetAbsPath = SVNFileUtil.createFilePath(defPath, externals[i].getPath());
SVNVersionedProperties props = dir.getProperties(dir.getThisDirName()); final String externalsProperty = props.getStringPropertyValue(SVNProperty.EXTERNALS); SVNExternal[] externals = externalsProperty != null ? SVNExternal.parseExternals(dir.getRoot().getAbsolutePath(), externalsProperty) : new SVNExternal[0];
SVNVersionedProperties props = dir.getProperties(dir.getThisDirName()); final String externalsProperty = props.getStringPropertyValue(SVNProperty.EXTERNALS); SVNExternal[] externals = externalsProperty != null ? SVNExternal.parseExternals(dir.getRoot().getAbsolutePath(), externalsProperty) : new SVNExternal[0];
SVNExternal[] externals = SVNExternal.parseExternals(path, value.getString());
SVNExternal.parseExternals(path, value.getString());
SVNExternal.parseExternals(path, value.getString());
private void handleExternalsChange(SVNURL reposRoot, File externalPath, String externalDefinition, Map<File, File> oldExternals, SVNDepth ambientDepth, SVNDepth requestedDepth) throws SVNException { if ((requestedDepth.compareTo(SVNDepth.INFINITY) < 0 && requestedDepth != SVNDepth.UNKNOWN) || ambientDepth.compareTo(SVNDepth.INFINITY) < 0 && requestedDepth.compareTo(SVNDepth.INFINITY) < 0) { return; } if (externalDefinition != null) { SVNExternal[] externals = SVNExternal.parseExternals(externalPath, externalDefinition); SVNURL url = getWcContext().getNodeUrl(externalPath); for (int i = 0; i < externals.length; i++) { File targetAbsPath = SVNFileUtil.createFilePath(externalPath, externals[i].getPath()); File oldExternalDefiningPath = oldExternals.get(targetAbsPath); try { handleExternalItemChange(reposRoot, externalPath, url, targetAbsPath, oldExternalDefiningPath, externals[i]); } catch (SVNCancelException cancel) { throw cancel; } catch (SVNException e) { handleEvent(SVNEventFactory.createSVNEvent(targetAbsPath, SVNNodeKind.NONE, null, -1, SVNEventAction.FAILED_EXTERNAL, SVNEventAction.UPDATE_EXTERNAL, e.getErrorMessage(), null)); } if (oldExternalDefiningPath != null) { oldExternals.remove(targetAbsPath); } } } }
String path = (String) externals.next(); String external = (String) adminAreaInfo.getNewExternals().get(path); SVNExternal[] exts = SVNExternal.parseExternals(path, external); File owner = new File(adminAreaInfo.getAnchor().getRoot(), path); for (int i = 0; i < exts.length; i++) {
String path = (String) externals.next(); String external = (String) adminAreaInfo.getNewExternals().get(path); SVNExternal[] exts = SVNExternal.parseExternals(path, external); File owner = new File(adminAreaInfo.getAnchor().getRoot(), path); for (int i = 0; i < exts.length; i++) {
String path = (String) externals.next(); String external = (String) adminAreaInfo.getNewExternals().get(path); SVNExternal[] exts = SVNExternal.parseExternals(path, external); File owner = new File(adminAreaInfo.getAnchor().getRoot(), path); for (int i = 0; i < exts.length; i++) {
String externalsValue = properties.getStringPropertyValue(SVNProperty.EXTERNALS); if (externalsValue != null) { SVNExternal[] externals = SVNExternal.parseExternals(adminArea.getRoot().getAbsolutePath(), externalsValue); for (int i = 0; i < externals.length; i++) { SVNExternal info = externals[i];
String externalsValue = properties.getStringPropertyValue(SVNProperty.EXTERNALS); if (externalsValue != null) { SVNExternal[] externals = SVNExternal.parseExternals(adminArea.getRoot().getAbsolutePath(), externalsValue); for (int i = 0; i < externals.length; i++) { SVNExternal info = externals[i];
private void includeExternalsChanges(SVNRepository repos, SvnCommitPacket packet, Map<File, String> externalsStorage, SvnCopyPair svnCopyPair) throws SVNException { for (File externalHolder : externalsStorage.keySet()) { String externalsPropString = (String) externalsStorage.get(externalHolder); SVNExternal[] externals = SVNExternal.parseExternals(externalHolder.getAbsolutePath(), externalsPropString); boolean introduceVirtualExternalChange = false; List<String> newExternals = new ArrayList<String>();
@Override protected Void run(SVNWCContext context) throws SVNException { File lockRootPath = null; SVNExternalsStore store = getOperation().isIgnoreExternals() ? null : new SVNExternalsStore(); try { lockRootPath = context.acquireWriteLock(getFirstTarget(), false, true); context.canonicalizeURLs(getFirstTarget(), store, getOperation().isOmitDefaultPort()); } finally { if (lockRootPath != null) { context.releaseWriteLock(lockRootPath); } } if (!getOperation().isIgnoreExternals()) { for (File path : store.getNewExternals().keySet()) { String externalPropertyValue = store.getNewExternals().get(path); SVNExternal[] externals = SVNExternal.parseExternals(path, externalPropertyValue); for (int i = 0; i < externals.length; i++) { File externalPath = SVNFileUtil.createFilePath(path, externals[i].getPath()); if (externalPath.isDirectory()) { SvnCanonicalizeUrls canonicalize = getOperation().getOperationFactory().createCanonicalizeUrls(); canonicalize.setSingleTarget(SvnTarget.fromFile(externalPath)); canonicalize.setOmitDefaultPort(getOperation().isOmitDefaultPort()); canonicalize.run(); } } } } return null; }
String externalValue = externals.get(relativePath); SVNExternal[] exts = SVNExternal.parseExternals(dirPath, externalValue); SVNURL directoryUrl = fromUrl.appendPath(relativePath, false); for (int i = 0; i < exts.length; i++) {
@Override protected SVNURL run(SVNWCContext context) throws SVNException { if (getOperation().getFromUrl() == null) { SVNURL fromURL = context.getNodeUrl(getFirstTarget()); getOperation().setFromUrl(fromURL); } if (getOperation().isIgnoreExternals()) { SvnWcDbRelocate.relocate(context, getFirstTarget(), getOperation().getFromUrl(), getOperation().getToUrl(), this); return getOperation().getToUrl(); } SVNURL oldReposRootUrl = context.getNodeReposInfo(getFirstTarget()).reposRootUrl; SvnWcDbRelocate.relocate(context, getFirstTarget(), getOperation().getFromUrl(), getOperation().getToUrl(), this); SVNURL newReposRootUrl = context.getNodeReposInfo(getFirstTarget()).reposRootUrl; SVNExternalsStore externalsStore = new SVNExternalsStore(); context.getDb().gatherExternalDefinitions(getFirstTarget(), externalsStore); for(File externalAbsPath : externalsStore.getNewExternals().keySet()) { String externalDefinition = externalsStore.getNewExternals().get(externalAbsPath); SVNExternal[] externals = SVNExternal.parseExternals(externalAbsPath, externalDefinition); if (externals != null && externals.length > 0) { relocateExternals(externalAbsPath, externals, oldReposRootUrl, newReposRootUrl); } } return getOperation().getToUrl(); }
SVNExternal[] externalDefs = SVNExternal.parseExternals(localAbsPath, externalsValues); for (SVNExternal externalDef : externalDefs) { File externalPath = SVNFileUtil.createFilePath(localAbsPath, externalDef.getPath());