Transfer only variables values, if the variables are already defined. Otherwise the variables would be duplicated.
This is a fix of issue #17330.
1.1 --- a/vcscvs/compat/src/org/netbeans/modules/vcs/cmdline/CvsFileSystem.java Tue Nov 06 13:32:36 2001 +0000
1.2 +++ b/vcscvs/compat/src/org/netbeans/modules/vcs/cmdline/CvsFileSystem.java Tue Nov 06 17:40:15 2001 +0000
1.3 @@ -44,7 +44,9 @@
1.4 final static String PS_SERVER = "/"; // NOI18N
1.5 final static String PS_LOCAL = java.io.File.separator;
1.6
1.7 - private static final String[] VARIABLES_TO_TRANSFER = { "SERVERTYPE", "CVS_SERVER", "CVS_USERNAME", "CVS_REPOSITORY", "CVS_EXE", "SHELL" };
1.8 + private static final String[] VARIABLES_TO_TRANSFER = { "SERVERTYPE", "CVS_SERVER", "CVS_USERNAME",
1.9 + "CVS_REPOSITORY", "CVS_EXE", "SHELL",
1.10 + VAR_ENVIRONMENT_PREFIX+"CVS_RSH" };
1.11
1.12 private String cvsServerType;// = new String(last_cvsServerType);
1.13 private String cvsRoot;// = new String(last_cvsRoot);
1.14 @@ -94,24 +96,21 @@
1.15 String cvsVarName = VARIABLES_TO_TRANSFER[i];
1.16 VcsConfigVariable cvsVar = (VcsConfigVariable) cvsVariables.get(cvsVarName);
1.17 if (cvsVar != null) {
1.18 - if (clvfsVarNames.contains(cvsVarName)) {
1.19 - vars.remove(varsByName.get(cvsVarName));
1.20 + VcsConfigVariable var = (VcsConfigVariable) varsByName.get(cvsVarName);
1.21 + if (var != null) {
1.22 + var.setValue(cvsVar.getValue());
1.23 + } else {
1.24 + vars.add(cvsVar);
1.25 }
1.26 - vars.add(cvsVar);
1.27 } else if ("CVS_USERNAME".equals(cvsVarName)) {
1.28 - vars.add(new VcsConfigVariable("CVS_USERNAME", "", cvsUser, false, false, false, null));
1.29 + VcsConfigVariable var = (VcsConfigVariable) varsByName.get(cvsVarName);
1.30 + if (var != null) {
1.31 + var.setValue(cvsUser);
1.32 + } else {
1.33 + vars.add(new VcsConfigVariable("CVS_USERNAME", "", cvsUser, false, false, false, null));
1.34 + }
1.35 }
1.36 }
1.37 - /*
1.38 - for (Iterator cvsIt = cvsVariables.keySet().iterator(); cvsIt.hasNext(); ) {
1.39 - String cvsVarName = (String) cvsIt.next();
1.40 - VcsConfigVariable cvsVar = (VcsConfigVariable) cvsVariables.get(cvsVarName);
1.41 - if (clvfsVarNames.contains(cvsVarName)) {
1.42 - vars.remove(varsByName.get(cvsVarName));
1.43 - }
1.44 - vars.add(cvsVar);
1.45 - }
1.46 - */
1.47 fs.setVariables(vars);
1.48 fs.setExpertMode(isExpertMode());
1.49 fs.setAnnotationPattern(getAnnotationPattern());