|
From: Thomas G. <tg...@ja...> - 2004-12-09 11:45:00
|
hi hi
thanks for that you're great clayton, now my committing function seems
to work fine.
Now i'm still having problems with my update function, which begins with
the update of one file (still the index.xml):
if (File.Exists(IndexPath))
{
string pathdir = vpath.Substring(0,
IndexPath.LastIndexOf("\\"));
string wdirname = pathdir.Substring(0,
pathdir.LastIndexOf("\\"));
string reldirname =
pathdir.Substring(pathdir.LastIndexOf("\\")+1, pathdir.Length -
pathdir.LastIndexOf("\\")-1);
// We update the index file to the desired revision
// (the last one by default)
wd = new WorkingDirectory(cvsroot, wdirname, reldirname);
if (Revision != "" && Revision != "Last Version")
{
wd.Revision = Revision;
}
DirectoryInfo dir = new
DirectoryInfo(Path.Combine(pathdir, "CVS"));
FileInfo reposfile = new FileInfo(pathdir +
"\\CVS\\Repository");
Folder folder = new Folder();
folder.Repository = Repository.Load(reposfile);
Entries entries = Entries.Load(dir);
Entry entry = entries[vpath];
folder.Entries.Add(pathdir, entry);
wd.Folders.Add(pathdir, folder);
//Debug.WriteLine(wd.FoldersToUpdate.Length.ToString());
cnx = new CVSServerConnection(wd);
cnx.Connect(wd, userpass);
RegisterListenEvents(cnx);
UpdateCommand2 cmd = new UpdateCommand2(wd);
cmd.Execute(cnx);
It crashes on UpdateCommand2.Execute():
workingDirectory.FoldersToUpdate is NULL and so i get a
nullreferenceexception...
Do you know how i must proceed ?
Thomas
Clayton Harbour wrote:
>Hi Thomas, just checking back in if you are still having an issue with this. I have been looking at the error message below and it looks like the Repository folder may have an extra empty line near the end. I added a trim on December 3rd that might take care if this if you could try it again.
>
>Cheers,
>
>Clayton
>
>
>-----Original Message-----
>From: Thomas Guillemin [mailto:tg...@ja...]
>Sent: Mon 12/6/2004 7:43 AM
>To: Clayton Harbour
>Cc: sha...@li...
>Subject: Re: [Sharpcvslib-users] Simple question
>i'm using the lib, updated last week (i'm waiting for sourceforge to be
>up again and i'll update then), so no cvs.exe, and the server is a cvsnt
>on windows xp, :pserver:.
>I was only listening to response events, not the request ones. I have
>added it, and here is what i get from my TextBox now:
>REQUEST: [Valid-responses ok error Valid-requests Checked-in New-entry
>Updated Created Merged Mod-time Removed Set-static-directory
>Clear-static-directory Set-sticky Clear-sticky Module-expansion M E MT]
> --> []
>REQUEST: [valid-requests]
> --> []
>RESPONSE: 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 setperm
>chacl setacl lsacl passwd info update diff log rlog add remove
>update-patches status ls 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 Valid-RcsOptions
> - ( ValidRequestsResponse )REQUEST: [UseUnchanged]
> --> []
>REQUEST: [Root /CVSRep]
> --> []
>REQUEST: [Global_option -q]
> --> []
>REQUEST: [Argument -m]
> --> []
>REQUEST: [Argument LOG MESSAGE]
> --> []
>REQUEST: [Argument --]
> --> []
>REQUEST: [Directory .]
> --> [/CVSRep/Test
>]
> --> []
> --> []
>REQUEST: [Entry /Index.xml/1.6/Mon Dec 6 16:32:25 2004+Fri Dec 3
>12:03:15 2004//T1.6]
> --> []
>REQUEST: [Modified Index.xml]
> --> [u=rw,g=rw,o=rw]
> --> []
>REQUEST: [Directory .]
> --> [/CVSRep/Test
>]
> --> []
> --> []
>REQUEST: [Argument Index.xml]
> --> []
>REQUEST: [ci]
> --> []
>ERROR: cvs server: M unrecognized request `'
>
>does that put some light on the scene ?
>
>Clayton Harbour wrote:
>
>
>
>>Which version of the client are you using Thomas? Also which version
>>of server are you connecting to? If you are using the code from cvs
>>could you do an update, sometimes it takes a while for sourceforge's
>>development cvs server to replicate to the anonymous server. Also
>>verify that you are handling the following events:
>> serverConn.RequestMessageEvent +=
>> new MessageEventHandler(Writer.WriteLine);
>> serverConn.ResponseMessageEvent +=
>> new MessageEventHandler(Writer.WriteLine);
>>
>>This will print out all requests and responses. What I am suspecting
>>is that there is a CaseRequest being sent that the server does not
>>like...at least that was an issue I came across l week. Let me know
>>what you find out.
>>
>>
>>Cheers,
>>
>>Clayton
>>
>> -----Original Message-----
>> *From:* Thomas Guillemin [mailto:tg...@ja...]
>> *Sent:* December 6, 2004 1:53 AM
>> *To:* Clayton Harbour
>> *Cc:* sha...@li...
>> *Subject:* Re: [Sharpcvslib-users] Simple question
>>
>> hm, it behaves exactly the same with this line instead.
>> and i still get [cvs server: M unrecognized request `'] in the end...
>>
>> Clayton Harbour wrote:
>>
>>
>>
>>> Hi Thomas,
>>>
>>> I think this line:
>>> FileInfo file = new FileInfo(pathdir + \\CVS <file://%5C%5CCVS>);
>>> should be:
>>> DirectoryInfo dir = new DirectoryInfo(Path.Combine(pathdir,
>>> "CVS");
>>>
>>> I am surprised that you don't get an error when you do an
>>> Entries entries = Entries.Load(file);
>>>
>>> There is no CvsFileNotFoundException being thrown? Are you sure
>>> you are not trapping this error silently?
>>>
>>>
>>> -----Original Message-----
>>> *From:* Thomas Guillemin [mailto:tg...@ja...]
>>> *Sent:* December 2, 2004 8:12 AM
>>> *To:* Clayton Harbour
>>> *Cc:* sha...@li...
>>> *Subject:* Re: [Sharpcvslib-users] Simple question
>>>
>>> mh i'm not sure to understand...
>>> here is my code:
>>>
>>> (...stuff...)
>>> wd = new WorkingDirectory(CVSRoot, wdirname, reldirname);
>>> cnx = new CVSServerConnection(wd);
>>> cnx.Connect(wd, userpass);
>>> (...stuff...)
>>> then:
>>> pathdir is the full local dir path where the file i want to
>>> commit is stored (ie: D:\Dev\CVSTest\Test\)
>>> vpath is the path for the file (ie:
>>> D:\Dev\CVSTest\Test\Index.xml)
>>>
>>> wd.Folders.Clear();
>>> FileInfo file = new FileInfo(pathdir + "\\CVS");
>>> FileInfo reposfile = new FileInfo(pathdir +
>>> "\\CVS\\Repository");
>>> Folder folder = new Folder();
>>> folder.Repository = Repository.Load(reposfile);
>>> Entries entries = Entries.Load(file);
>>> Entry entry = entries[vpath];
>>> folder.Entries.Add(pathdir, entry);
>>> wd.Folders.Add(pathdir, folder);
>>> cnx = new CVSServerConnection(wd);
>>> cnx.Connect(wd, userpass);
>>> CommitCommand2 cmd2 = new CommitCommand2(wd);
>>> cmd2.Execute(cnx);
>>> cnx.Close();
>>>
>>> it makes no error, but no message at all in my textbox (where
>>> i print errors and responses as well).
>>> do you think this will work at all, and commit only the file
>>> i want ? (Index.xml)
>>>
>>> btw, i have to do exactly the same (with the revision number
>>> for the specified file added) for updating some files.
>>>
>>> Clayton Harbour wrote:
>>>
>>>
>>>
>>>>Hi Thomas,
>>>>
>>>>The code would look something like this:
>>>> Folder folder = new Folder();
>>>> Entries entries = new Entries.Load(file);
>>>> Entry entry = entries[file];
>>>> Folder.Entries.Add(entry);
>>>> WorkingDirectory wd.Folders.Add(folder);
>>>>
>>>>I have not compiled this code so you may have to play with it somewhat.
>>>>The basic idea is that you have to populate the Folders object on the
>>>>working directory with the Entry you want to update.
>>>>
>>>>
>>>>Cheers,
>>>>
>>>>Clayton
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>-----Original Message-----
>>>>>From: Thomas Guillemin [mailto:tg...@ja...]
>>>>>Sent: December 2, 2004 5:45 AM
>>>>>To: sha...@li...
>>>>>Subject: [Sharpcvslib-users] Simple question
>>>>>
>>>>>
>>>>>Hi
>>>>>Can someone show me how i must proceed to update/commit only
>>>>>one file ?
>>>>>(with UpdateCommand2/CommitCommand2)
>>>>>Thanks
>>>>>
>>>>>Thomas
>>>>>
>>>>>
>>>>>-------------------------------------------------------
>>>>>SF email is sponsored by - The IT Product Guide
>>>>>Read honest & candid reviews on hundreds of IT Products from
>>>>>real users. Discover which products truly live up to the
>>>>>hype. Start reading now.
>>>>>http://productguide.itmanagersjournal.com/
>>>>>_______________________________________________
>>>>>Sharpcvslib-users mailing list Sha...@li...
>>>>>https://lists.sourceforge.net/lists/listinfo/sharpcvslib-users
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>-------------------------------------------------------
>>>>SF email is sponsored by - The IT Product Guide
>>>>Read honest & candid reviews on hundreds of IT Products from real users.
>>>>Discover which products truly live up to the hype. Start reading now.
>>>>http://productguide.itmanagersjournal.com/
>>>>_______________________________________________
>>>>Sharpcvslib-users mailing list
>>>>Sha...@li...
>>>>https://lists.sourceforge.net/lists/listinfo/sharpcvslib-users
>>>>
>>>>
>>>>
>>>>
>>>>
>
>
>
>
>
>
|