// svn commit from projectviewer node. _svn_commit(view, message) { // get project viewer and console dwm = view.getDockableWindowManager(); if (dwm == null) { return; } pv = dwm.getDockable("projectviewer"); con = dwm.getDockable("console"); // must have both -- pv to get the node, and console to run svn if (( pv == null ) || ( con == null )) { return; } // make them both visible dwm.showDockableWindow("console"); dwm.showDockableWindow("projectviewer"); // get the node from pv, either folder or file, either will work node = pv.getSelectedNode(); f = new File( node.getNodePath() ); path = f.getAbsolutePath(); recurse = f.isDirectory(); // run svn update on the selected item try { message = message.replaceAll("[\\n\\r]", " "); command = "svn commit -m \"" + message + "\" " + path; runInSystemShell( view, command); waitForConsole(view); } catch (Exception e) {} } // dialog to get commit comment final StringBuffer rtn = new StringBuffer(); final javax.swing.JDialog d = new javax.swing.JDialog(view); d.setModal(true); d.setTitle("Commit Comment"); java.awt.Container contents = d.getContentPane(); contents.setLayout(new java.awt.BorderLayout()); final javax.swing.JTextArea textArea = new javax.swing.JTextArea(6, 40); contents.add(new javax.swing.JScrollPane(textArea)); javax.swing.JPanel buttonPanel = new javax.swing.JPanel(); buttonPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT)); javax.swing.JButton okayButton = new javax.swing.JButton("OK"); javax.swing.JButton cancelButton = new javax.swing.JButton("Cancel"); okayButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent event) { rtn.append(textArea.getText()); d.setVisible(false); d.dispose(); } }); cancelButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent event) { rtn.append("___cancelled___"); d.setVisible(false); d.dispose(); } }); buttonPanel.add(okayButton); buttonPanel.add(cancelButton); contents.add(buttonPanel, java.awt.BorderLayout.SOUTH); d.setSize(400, 250); d.setVisible(true); String message = rtn.toString(); message = message.indexOf("___cancelled___") > -1 ? null : message; // null message means user cancelled if (message == null) { return; } _svn_commit(view, message);