if (entry.get(SVNProperty.REPOS) == null && rootEntry.get(SVNProperty.REPOS) != null) { entry.put(SVNProperty.REPOS, rootEntry.get(SVNProperty.REPOS)); }
    public void open() throws SVNException {        if (myData != null) {            return;        }        if (!myFile.exists()) {            return;        }        myData = new TreeMap();        myEntries = new TreeSet();        BufferedReader reader = null;        try {            reader = new BufferedReader(new InputStreamReader(SVNFileUtil.openFileForReading(myFile), "UTF-8"));            String line;            Map entry = null;            while ((line = reader.readLine()) != null) {                line = line.trim();                if (line.equals("<entry")) {                    entry = new HashMap();                    continue;                }                if (entry != null) {                    if (line.indexOf('=') <= 0 || line.indexOf('\"') <= 0 ||                             line.indexOf('\"') == line.lastIndexOf('\"')) {                        continue;                    }                    String name = line.substring(0, line.indexOf('='));                    String value = line.substring(line.indexOf('\"') + 1,                             line.lastIndexOf('\"'));                    value = SVNEncodingUtil.xmlDecode(value);                    entry.put(SVNProperty.SVN_ENTRY_PREFIX + name, value);                    if (line.charAt(line.length() - 1) == '>') {                        String entryName = (String) entry.get(SVNProperty.NAME);                        if (entryName == null) {                            SVNDebugLog.logInfo("svn: '" + myFile + "' file includes invalid entry with missing 'name' attribute");                            myData.clear();                            myEntries.clear();                            return;                        }                        myData.put(entryName, entry);                        myEntries.add(new SVNEntry(this, entryName));                        if (!"".equals(entryName)) {                            Map rootEntry = (Map) myData.get("");                            if (rootEntry != null) {                                if (entry.get(SVNProperty.REVISION) == null) {                                    entry.put(SVNProperty.REVISION, rootEntry.get(SVNProperty.REVISION));                                }                                if (entry.get(SVNProperty.URL) == null) {                                    String url = (String) rootEntry.get(SVNProperty.URL);                                    if (url != null) {                                        url = SVNPathUtil.append(url, SVNEncodingUtil.uriEncode(entryName));                                    }                                    entry.put(SVNProperty.URL, url);                                }                                if (entry.get(SVNProperty.UUID) == null) {                                    entry.put(SVNProperty.UUID, rootEntry.get(SVNProperty.UUID));                                }                            }                        }                        entry = null;                    }                }            }        } catch (IOException e) {            SVNErrorManager.error("svn: Cannot load entries file '" + myFile + "'");        } finally {            SVNFileUtil.closeFile(reader);        }    }