Update

Help
2004-12-01
2013-04-25
  • Philip Thomsen
    Philip Thomsen
    2004-12-01

    I have a problem with update - I can get it to put all the correct files in "FileSystem.Folders" but after I type in my password for the :ext: nothing happens. Only information is the processing time.

    One thing i can't understand is why you "send a file" when an update is wanted:

    in: ICSharpCode\SharpCvsLib\Commands\UpdateCommand.cs

    connection.SubmitRequest(new ModifiedRequest(entry.Name));
    connection.SendFile(entry.FullPath, entry.IsBinaryFile);

    Is this a bug - or is it just me who is a nitwit.

    Keep ud the good work!

    /PBT

     
    • Hi, I have fixed a bug in the console update parser, and the Manager to correctly recurse through the update path.  If you are using the console application you can get server/ client responses by using the -verbose switch.

      About sending the entire file every time an UpdateRequest is sent, this is not a bug.  Cvs actually performs the diff on the server so the local file is required.  It is not the most efficient way to do things and in some of the protocol notes (http://www.elegosoft.com/cvs/cvsclient.html#SEC21) this is noted.

      The reference is quite old but AFAIK this has not changed...

      Cheers,

      Clayton

       
    • r0dy
      r0dy
      2004-12-02

      I have another question about the update command:
      Does the UpdateCommand2.ReleaseString correspond to the cvs -r flag ? (ie when you do an update, it forces the updated files to be replaced by the repository files of the specified revision)
      And if it does, does it keep the sticky behaviour of the cvs flag ?

       
      • Hi, no the Release string is more for importing a vendor repository.  The property should exist on the UpdateCommand2 (and will when I refactor it) but currently use the WorkingDirectory.Revision property.

        This is sticky and is recorded in the Entries file.  Currently resetting the stickiness is not implemented (but should be relatively easy to add, file a bug report).

        Cheers,

        Clayton

         
    • r0dy
      r0dy
      2004-12-02

      oh and i have another simple question:
      how can i do to update each file separately in a directory ? (for example, update file1 to revision 1.7, update file2 to rev 1.15, etc)

       
      • Hi, I think I bundled the answer in the other reply.  The revision per file is recorded in the Entries file.

        Cheers,

        Clayton

         
    • r0dy
      r0dy
      2004-12-02

      WorkingDirectory.Revision ?
      Isn't Entry.Revision better ?
      What's the meaning of wd.Revision ?

       
      • Entry.Revision is more like a noun.  WorkingDirectory.Revision is sort of overloaded, it is used to tell the cvs server that we are requesting that revision plus it is used to hold the revision value until we can assign it to the Entry. 

        Ideally it should be removed from the WorkingDirectory and exist on the UpdateCommand2 and the Entry.  I will see if I have time to add that tonight...I will leave the Revision on the WorkingDirectory though and add an obsolete attribute.

        Cheers,

        Clayton

         
    • r0dy
      r0dy
      2004-12-02

      anyway
      i have finally avoided most of my main problems (so my app does not what i want but well some day, some day), but still i can't avoid to use an updatecommand... and it always crashes because FoldersToUpdate is null...
      any advice ?