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.
There is known problem if you checkout your sources using somehow deffined CVSROOT, but later this CVSROOT stop work (because of rename of cvs pserver,etc.) and you have to start another CVSROOT. In IDE CVS support is used global (-d) CVSROOT and you could modify it accordingly to your actual needs. But for instance: I have checkout sources using this CVSROOT option: :pserver:anoncvs@fortecvs:/nbextra and now, the network configuration changed and I could update my sources only using this CVSROOT: :pserver:anoncvs@fortecvs.sfbay:/nbextra Well, update on individual files work, but if you run cvs->update on the top of your working all files give you status [Merge Conflicts] This is because of inconsistency in those 2 CVSROOT options. There should be some kind of Action which will allow user to change all CVS/Root files to the new specified values.
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.