Index: vcscore/src/org/netbeans/modules/vcscore/VcsFSCommandsAction.java diff -c vcscore/src/org/netbeans/modules/vcscore/VcsFSCommandsAction.java:1.6.2.2 vcscore/src/org/netbeans/modules/vcscore/VcsFSCommandsAction.java:1.9 *** vcscore/src/org/netbeans/modules/vcscore/VcsFSCommandsAction.java:1.6.2.2 Thu Mar 6 04:05:32 2003 --- vcscore/src/org/netbeans/modules/vcscore/VcsFSCommandsAction.java Fri Apr 18 05:45:15 2003 *************** *** 109,115 **** Node nd = (Node) children.nextElement(); DataObject dd = (DataObject) nd.getCookie(DataObject.class); if (dd == null) continue; ! messageFiles.addAll(dd.files()); /* variablesForSelectedFiles.put(additionalVars, varFiles); */ --- 109,116 ---- Node nd = (Node) children.nextElement(); DataObject dd = (DataObject) nd.getCookie(DataObject.class); if (dd == null) continue; ! //messageFiles.addAll(dd.files()); ! addAllWorkaround(dd.files(), messageFiles); /* variablesForSelectedFiles.put(additionalVars, varFiles); */ *************** *** 122,132 **** // We want to have the same VCS actions on the link as on the original. dd = ((DataShadow) dd).getOriginal(); } ! files.addAll(dd.files()); } } if (files.size() > 0) filesWithMessages.put(files.toArray(new FileObject[0]), null); return filesWithMessages; } /* --- 123,144 ---- // We want to have the same VCS actions on the link as on the original. dd = ((DataShadow) dd).getOriginal(); } ! //files.addAll(dd.files()); ! addAllWorkaround(dd.files(), files); } } if (files.size() > 0) filesWithMessages.put(files.toArray(new FileObject[0]), null); return filesWithMessages; + } + + /** + * A workaround for Collection.addAll() method, which is broken. See + * http://developer.java.sun.com/developer/bugParade/bugs/4715206.html + * for details. + * Add all elements from "src" to "dest". + */ + private static final void addAllWorkaround(Collection src, Collection dest) { + for (Iterator it = src.iterator(); it.hasNext(); dest.add(it.next())); } /*