i now successfully implemented the Treeview-Listview GUI to browse all the modules/individual module with the ListCommand class. it's great!
however, if i manually created a empty folder inside the CVS root directory, the folder was also rerturned by the ListCommand and in my app, it was also displayed in the Treeview as a module. when i click that non-cvs-module node, the application hang...clicking on any other normal module, the application runs ok and all the files under the clicked module will be displayed inside the listview.
in question is, how can i prevent from this situation? how can i figure out whether or not a folder returned by the ls command is a correct cvs module?
Hi Gary, that is great news about the treeview!
I want to understand the situation better, you are manually editing your cvs repository? And the application is hanging where, on the client side or on the server side? You could try running a status on the directory, or set a timeout. Could you track it down a little more or list the steps to reproduce? Thanks,
i really appreciate for your still staying with me.
let me try to explain my issue in more details:
i am developing an application with the GUI like Visual SoureSafe, that is, this application can browse all the modules or a specified module under the cvsnt repository.
i invoke the ListCommand and parse the returned response to populate the treeview with the module or subfolder, and populate the listview with the appropriate files of the selected node in the left-side treeview.
the application works great. however, another guy manually goes to the directory where my cvs repository resides through the windows explorer, and manually added a folder under the repository. of course, it is a dammy folder for cvsnt.
back to my treeview-listview app, i use the ListCommand command by disabling the Recursive property. here is the returned response message from server:
Root Valid-responses valid-requests Directory Max-dotdot Static-directory Sticky Entry EntryExtra Kopt Checkin-time Modified Is-modified UseUnchanged Unchanged Notify NotifyUser Questionable Utf8 Argument Argumentx Global_option Gzip-stream wrapper-sendme-rcsOptions Set Rename VirtualRepository expand-modules ci co chown setowner chacl2 lsacl passwd info update diff log rlog add remove update-patches status ls rls rdiff tag rtag import admin export history release watch-on watch-off watch-add watch-remove watchers editors init annotate rannotate noop version Rootless-stream-modification Kerberos-encrypt Gssapi-encrypt Protocol-encrypt Gssapi-authenticate Protocol-authenticate read-cvsrc read-cvsrc2 read-cvsignore read-cvswrappers Error-If-Reader server-codepage client-version Can-Rename Valid-RcsOptions
Listing modules on server
here, the temp folder created by the guy mentioned above was also returned, and in a result, it is also listed in the treeview.
when i click on the temp node, the application hangs on the follwing line in the HandleResponses method of the CVSServerConnection.cs class:
string responseStr = inputStream.ReadToFirstWS();
so my question is how i can prevent the "temp" folder from being returned from cvs server, since it is not a valid module?
besides for this issue, i am sorry that i have several other questions:
1. after fighting for a while, i still cannot figure out where i can set the "timeout" property.
2. i am a newbie for the log4net component. how can i configure this component so that i can generate log files?
again, thanks for your great patience to answer my questions. thanks,
Log in to post a comment.