This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Have a possibility to modify recursively CVSROOT in CVS/Root | ||
---|---|---|---|
Product: | obsolete | Reporter: | dmladek <dmladek> |
Component: | vcsgeneric | Assignee: | issues@obsolete <issues> |
Status: | STARTED --- | ||
Severity: | blocker | CC: | gtichy |
Priority: | P3 | ||
Version: | 3.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | ENHANCEMENT | Exception Reporter: | |
Bug Depends on: | 37398 | ||
Bug Blocks: | |||
Attachments: | Here is the mentioned class "ChangeCVSRoot.java" |
Description
dmladek
2003-11-19 19:32:51 UTC
Also, I don't have any idea where to put such functionality to the IDE. If you could think about it Gabo, I'll appreceate it. thanks I'll take a look at it:) Well, I've got some functional class which search for old vaules: (User,Pserver,Port Repository) and replace them with the new ones. It starts from the given CVSWorking (of current FS). Created attachment 12262 [details]
Here is the mentioned class "ChangeCVSRoot.java"
Now, what we need is: to place this feature somewhere in the IDE GUI. Potentially there are a few possibilities like to put it into: * MainMenu->Versioning->... * PopupMenu->CVS->... * VCS Mounting Wizard/Customizer * and sure, there might be other places (Toolbars, etc...) I'd prefer to have it in VCS MntWizard/Customizer, so I'll describe here my idea about GUI implementation: (1) Why into Customizer? -Because it is related to customizing VCS-FS properties and it really customize all your CVS/Root files in the entire CVS Working and influence by this modification cvs commands behavior: +update under some circumstances return [Merge-conflict] file status instead of performing real update. -And because, it seems more probably that VCS MntWizard is going to extend for extra panels due to CVS specific issue #37398 (2) Extra TAB/Panel in Customizer/Wizard If happen that current VCS MntWizard would extend into proposed suggestion mentioned in the issue #37398, I'd suggest to add a button "Check CVS/Roots" next by "CVSROOT" textfield which will popup a new dialog which will use "ChangeCVSRoot" class. (3) The dialog (using "ChangeCVSRoot" class) eg. "Unify your CVS/Root" Will be mainly composed from Table which will allow sorting on individual columns representanting: +User, Server, Port, Repository In the table will be as many row as it will be found differing CVS/Root files from your actually set CVSROOT variable on the Second TAB/Panel "Server Settings" of the Wizard/Customizer Which is described in depending issue #37398 /--------------------------------------------------------------------\ | Maintainer of CVS/Root files vs. CVSROOT variable | |====================================================================| | ________________________________________________________________ | | |{usrName} {srvName} {Port} {Repository} {ConnectingMethod}| | | _________________________________________________________________ | | | ... | ... | .... | ... | ... | | | | ... | ... | .... | ... | ... | | | | ... | ... | .... | ... | ... | | | | ... | ... | .... | ... | ... | | | | | | | | | | | _________________________________________________________________ | | |repl[x] |repl[x] |repl[x] |repl[x] |repl[x] | | | _________________________________________________________________ | | | | [Replace All Roots] [Repl.selected Roots(rows)] [Cancel] | \--------------------------------------------------------------------/ -Replace [x] chckbox: Under each table's column will be a checkbox representanting if this part of CVSROOT (eg.User) will be included in replacing process. For instance: On the II.Wizard's panel the CVSROOT variable is: :pserver:dmladek@myserver:/usr/repo And in the table there were found 4 CVS/Root files of contents differing just in the username and servername: ________________________________________________________________ |{usrName} {srvName} {Port} {Repository} {ConnectingMethod}| _________________________________________________________________ |anonymous| myserver | .... | /usr/repo | pserver | |anonymous| myserver | .... | /usr/repo | pserver | |dmladek |myserver.cz| .... | /usr/repo | pserver | |anonymous|myserver.cz| .... | /usr/repo | pserver | _________________________________________________________________ |repl[ ] |repl[x] |repl[x] |repl[x] |repl[x] | If user left unchecked only username column, then (according current CVSROOT variable which is still :pserver:dmladek@myserver:/usr/repo) will be replaced only srvname, port, repo, connect.Method and because port, repo and con.method are same only srvname will be replaced in those 4 CVS/Root files -Replace All Roots Button: include all rows (CVS/Root files) listed in table into replacing process -Replace selected Roots Button: will include into replacing process only selected rows from table. (4) This GUI, in this way as it is designed, offers a user a maximum variety and freedom of what she will replace by what. |