The directory refresh must run on folder. If a file is supplied, it's parent is taken.
This is a fix of issue #28529.
1.1 --- a/vcscore/src/org/netbeans/modules/vcscore/cmdline/UserCommandTask.java Mon Nov 18 16:17:20 2002 +0000
1.2 +++ b/vcscore/src/org/netbeans/modules/vcscore/cmdline/UserCommandTask.java Mon Nov 18 19:59:26 2002 +0000
1.3 @@ -143,6 +143,7 @@
1.4 dir = diskFiles[0];
1.5 }
1.6 }
1.7 + if (dir.isFile()) dir = dir.getParentFile();
1.8 return dir;
1.9 }
1.10
1.11 @@ -155,13 +156,15 @@
1.12 if (dirListener != null) {
1.13 String file = (String) vars.get("FILE");
1.14 String dir = (String) vars.get("DIR");
1.15 + String path = dir;
1.16 if (dir.length() > 0) {
1.17 - dir += Variables.expand(vars, "${PS}", false) + file;
1.18 + path += Variables.expand(vars, "${PS}", false) + file;
1.19 } else {
1.20 - dir = file;
1.21 + path = file;
1.22 }
1.23 + if (fileSystem.getFile(path).isFile()) path = dir;
1.24 vars.put("FILE", "");
1.25 - vars.put("DIR", dir);
1.26 + vars.put("DIR", path);
1.27 this.cmd.setAdditionalVariables(vars);
1.28 //System.out.println("\n\ncreateRefresh(), MODULE = "+vars.get("MODULE")+", DIR = "+vars.get("DIR"));
1.29 return new CommandLineVcsDirReader(dirListener, fileSystem, uCmd, vars);