public SvnRevision(SvnOptRevision rev)
 {
     mKind = rev.Kind;
     if (mKind == Svn.Revision.Number)
     {
         mNumber = rev.Number;
     }
     else if (mKind == Svn.Revision.Date)
     {
         mDate = rev.Date;
     }
 }
 public SvnRevision(int number)
 {
     mKind   = Svn.Revision.Number;
     mNumber = number;
     mDate   = 0;
 }
 public SvnRevision(long date)
 {
     mKind   = Svn.Revision.Date;
     mNumber = 0;
     mDate   = date;
 }
 public SvnOptRevision(Svn.Revision revKind, out GCHandle handle)
 {
     handle       = GCHandle.Alloc(new svn_opt_revision_t(), GCHandleType.Pinned);
     mOptRevision = (svn_opt_revision_t *)handle.AddrOfPinnedObject().ToPointer();
     Kind         = revKind;
 }
 public SvnRevision(Svn.Revision kind)
 {
     mKind   = kind;
     mNumber = 0;
     mDate   = 0;
 }
 public SvnOptRevision(Svn.Revision revKind, AprPool pool)
 {
     mOptRevision = (svn_opt_revision_t *)pool.CAlloc(sizeof(svn_opt_revision_t));
     Kind         = revKind;
 }
 public SvnRevision(SvnOptRevision rev)
 {
     mKind = rev.Kind;
     if(mKind == Svn.Revision.Number)
         mNumber = rev.Number;
     else if(mKind == Svn.Revision.Date)
         mDate = rev.Date;
 }
 public SvnRevision(long date)
 {
     mKind = Svn.Revision.Date;
     mNumber = 0;
     mDate = date;
 }
 public SvnRevision(int number)
 {
     mKind = Svn.Revision.Number;
     mNumber = number;
     mDate = 0;
 }
 public SvnRevision(Svn.Revision kind)
 {
     mKind = kind;
     mNumber = 0;
     mDate = 0;
 }