Changeset 50

Show
Ignore:
Timestamp:
07/06/04 02:59:14
Author:
DenisG
Message:

[SubversionSharp] Add SvnPath? and SvnUrl? for better type-safe calls

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/SubversionSharp/dev/src/SubversionSharp.prjx

    r42 r50  
    2626    <File name="./SvnClientBase.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> 
    2727    <File name="./SvnClient.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> 
     28    <File name="./SvnPath.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> 
     29    <File name="./SvnUrl.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> 
    2830  </Contents> 
    2931  <References> 
    3032    <Reference type="Project" refto="AprSharp" localcopy="True" /> 
     33    <Reference type="Gac" refto="System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" localcopy="True" /> 
    3134  </References> 
    3235  <DeploymentInformation target="" script="" strategy="File" /> 
  • trunk/SubversionSharp/dev/src/Svn.cs

    r44 r50  
    9090        #endregion 
    9191         
     92        #region SvnPath 
     93        [DllImport("svn_client-1")] static extern 
     94        internal IntPtr svn_utf_stringbuf_to_utf8(out IntPtr dest, IntPtr src, IntPtr pool); 
     95 
     96        [DllImport("svn_client-1")] static extern 
     97        internal IntPtr svn_utf_string_to_utf8(out IntPtr dest, IntPtr src, IntPtr pool); 
     98 
     99        [DllImport("svn_client-1")] static extern 
     100        internal IntPtr svn_utf_cstring_to_utf8(out IntPtr dest, IntPtr src, IntPtr pool); 
     101        #endregion 
     102         
     103        #region SvnUrl 
     104        [DllImport("svn_client-1")] static extern 
     105        internal IntPtr svn_path_uri_encode(IntPtr path, IntPtr pool); 
     106 
     107        [DllImport("svn_client-1")] static extern 
     108        internal IntPtr svn_path_uri_decode(IntPtr path, IntPtr pool); 
     109        #endregion 
     110         
    92111        #region SvnString 
    93         [DllImport("svn_client-1")] static extern 
     112        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    94113        internal IntPtr svn_string_create(IntPtr cstring, IntPtr pool); 
    95114        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
     
    172191        [DllImport("svn_client-1")] static extern 
    173192        internal IntPtr svn_config_ensure(IntPtr config_dir, IntPtr pool); 
    174         [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    175         internal IntPtr svn_config_ensure(string config_dir, IntPtr pool); 
    176193         
    177194        [DllImport("svn_client-1")] static extern 
    178195        internal IntPtr svn_config_get_config(out IntPtr cfg_hash, IntPtr config_dir, IntPtr pool); 
    179         [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    180         internal IntPtr svn_config_get_config(out IntPtr cfg_hash, string config_dir, IntPtr pool); 
    181196        #endregion 
    182197         
     
    272287                                                              
    273288        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    274         internal IntPtr svn_client_checkout(out int result_rev, string URL,  
    275                                             string path, IntPtr revision, int recurse,  
     289        internal IntPtr svn_client_checkout(out int result_rev, IntPtr URL,  
     290                                            IntPtr path, IntPtr revision, int recurse,  
    276291                                            IntPtr ctx, IntPtr pool); 
    277292                                             
    278293        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    279         internal IntPtr svn_client_update (out int result_rev, string path,  
     294        internal IntPtr svn_client_update (out int result_rev, IntPtr path,  
    280295                                           IntPtr revision, int recurse, 
    281296                                           IntPtr ctx, IntPtr pool); 
    282297         
    283298        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    284         internal IntPtr svn_client_switch(out int result_rev, string path, string url,  
     299        internal IntPtr svn_client_switch(out int result_rev, IntPtr path, IntPtr url,  
    285300                                          IntPtr revision, int recurse,  
    286301                                          IntPtr ctx, IntPtr pool); 
    287302                                           
    288303        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    289         internal IntPtr svn_client_add(string path, int recursive,  
     304        internal IntPtr svn_client_add(IntPtr path, int recursive,  
    290305                                       IntPtr ctx, IntPtr pool); 
    291306         
     
    300315        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    301316        internal IntPtr svn_client_import(out IntPtr commit_info,  
    302                                           string path, string url, int nonrecursive,  
     317                                          IntPtr path, IntPtr url, int nonrecursive,  
    303318                                          IntPtr ctx, IntPtr pool); 
    304319 
     
    310325        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    311326        internal IntPtr svn_client_status(out int result_rev,  
    312                                           string path, IntPtr revision, 
     327                                          IntPtr path, IntPtr revision, 
    313328                                          svn_wc_status_func_t status_func, IntPtr status_baton,  
    314329                                          int descend, int get_all, int update, int no_ignore,  
     
    322337     
    323338        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    324         internal IntPtr svn_client_blame(string path_or_url, IntPtr start, IntPtr end,  
     339        internal IntPtr svn_client_blame(IntPtr path_or_url, IntPtr start, IntPtr end,  
    325340                                         svn_client_blame_receiver_t receiver, IntPtr receiver_baton,  
    326341                                         IntPtr ctx, IntPtr pool); 
     
    328343        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    329344        internal IntPtr svn_client_diff(IntPtr diff_options,  
    330                                         string path1, IntPtr revision1,  
    331                                         string path2, IntPtr revision2,  
     345                                        IntPtr path1, IntPtr revision1,  
     346                                        IntPtr path2, IntPtr revision2,  
    332347                                        int recurse, int ignore_ancestry, int no_diff_deleted,  
    333348                                        IntPtr outfile, IntPtr errfile,  
     
    335350 
    336351        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    337         internal IntPtr svn_client_merge(string source1, IntPtr revision1,  
    338                                          string source2, IntPtr revision2, 
    339                                          string target_wcpath,  
     352        internal IntPtr svn_client_merge(IntPtr source1, IntPtr revision1,  
     353                                         IntPtr source2, IntPtr revision2, 
     354                                         IntPtr target_wcpath,  
    340355                                         int recurse, int ignore_ancestry, int force, int dry_run,  
    341356                                         IntPtr ctx, IntPtr pool); 
    342357         
    343358        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    344         internal IntPtr svn_client_cleanup(string dir, IntPtr ctx, IntPtr pool); 
    345  
    346         [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    347         internal IntPtr svn_client_relocate(string dir,  
    348                                             string from, string to, int recurse,  
     359        internal IntPtr svn_client_cleanup(IntPtr dir, IntPtr ctx, IntPtr pool); 
     360 
     361        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
     362        internal IntPtr svn_client_relocate(IntPtr dir,  
     363                                            IntPtr from, IntPtr to, int recurse,  
    349364                                            IntPtr ctx, IntPtr pool); 
    350365 
     
    353368 
    354369        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    355         internal IntPtr svn_client_resolved(string path, int recursive, IntPtr ctx, IntPtr pool); 
     370        internal IntPtr svn_client_resolved(IntPtr path, int recursive, IntPtr ctx, IntPtr pool); 
    356371 
    357372        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    358373        internal IntPtr svn_client_copy(out IntPtr commit_info,  
    359                                         string src_path, IntPtr src_revision,  
    360                                         string dst_path,  
     374                                        IntPtr src_path, IntPtr src_revision,  
     375                                        IntPtr dst_path,  
    361376                                        IntPtr ctx, IntPtr pool); 
    362377 
    363378        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    364379        internal IntPtr svn_client_move(out IntPtr commit_info,  
    365                                         string src_path, IntPtr src_revision,  
    366                                         string dst_path, int force,  
     380                                        IntPtr src_path, IntPtr src_revision,  
     381                                        IntPtr dst_path, int force,  
    367382                                        IntPtr ctx, IntPtr pool); 
    368383 
    369384        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    370         internal IntPtr svn_client_propset(string propname, IntPtr propval, string target,  
     385        internal IntPtr svn_client_propset(string propname, IntPtr propval, IntPtr target,  
    371386                                           int recurse, 
    372387                                           IntPtr pool); 
     
    374389        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    375390        internal IntPtr svn_client_revprop_set(string propname, IntPtr propval,  
    376                                                string Url, IntPtr revision,  
     391                                               IntPtr Url, IntPtr revision,  
    377392                                               out int set_rev, int force,  
    378393                                               IntPtr ctx, IntPtr pool); 
    379394 
    380395        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    381         internal IntPtr svn_client_propget(out IntPtr props, string propname, string target,  
     396        internal IntPtr svn_client_propget(out IntPtr props, string propname, IntPtr target,  
    382397                                           IntPtr revision, int recurse,  
    383398                                           IntPtr ctx, IntPtr pool); 
     
    385400        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    386401        internal IntPtr svn_client_revprop_get(string propname, out IntPtr propval,  
    387                                                string URL, IntPtr revision, out int set_rev,  
     402                                               IntPtr URL, IntPtr revision, out int set_rev,  
    388403                                               IntPtr ctx, IntPtr pool); 
    389404 
    390405        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    391406        internal IntPtr svn_client_proplist(out IntPtr props,  
    392                                             string target, IntPtr revision, int recurse,  
     407                                            IntPtr target, IntPtr revision, int recurse,  
    393408                                            IntPtr ctx, IntPtr pool); 
    394409 
    395410        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    396411        internal IntPtr svn_client_revprop_list(out IntPtr props, 
    397                                                 string URL, IntPtr revision, out int set_rev,  
     412                                                IntPtr URL, IntPtr revision, out int set_rev,  
    398413                                                IntPtr ctx, IntPtr pool); 
    399414 
    400415        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    401416        internal IntPtr svn_client_export(out int result_rev,  
    402                                           string from, string to, IntPtr revision, int force,  
     417                                          IntPtr from, IntPtr to, IntPtr revision, int force,  
    403418                                          IntPtr ctx, IntPtr pool); 
    404419 
    405420        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    406421        internal IntPtr svn_client_ls(out IntPtr dirents,  
    407                                       string path_or_url, IntPtr revision, int recurse,  
     422                                      IntPtr path_or_url, IntPtr revision, int recurse,  
    408423                                      IntPtr ctx, IntPtr pool); 
    409424 
    410425        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    411426        internal IntPtr svn_client_cat(IntPtr output,  
    412                                        string path_or_url, IntPtr revision, 
     427                                       IntPtr path_or_url, IntPtr revision, 
    413428                                       IntPtr ctx, IntPtr pool); 
    414429 
    415430        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    416         internal IntPtr svn_client_url_from_path(out IntPtr url, string path_or_url, IntPtr pool); 
    417  
    418         [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    419         internal IntPtr svn_client_uuid_from_url(out IntPtr uuid, string url, IntPtr ctx, IntPtr pool); 
     431        internal IntPtr svn_client_url_from_path(out IntPtr url, IntPtr path_or_url, IntPtr pool); 
     432 
     433        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
     434        internal IntPtr svn_client_uuid_from_url(out IntPtr uuid, IntPtr url, IntPtr ctx, IntPtr pool); 
    420435        #endregion                 
    421436    } 
  • trunk/SubversionSharp/dev/src/SvnAuthCred.cs

    r46 r50  
    491491 
    492492        #region Wrapper Properties 
    493         public AprString CertFile 
     493        public SvnPath CertFile 
    494494        { 
    495495            get 
  • trunk/SubversionSharp/dev/src/SvnClient.cs

    r46 r50  
    6767            mPool = Svn.PoolCreate(mGlobalPool); 
    6868        } 
     69         
     70        public IAprUnmanaged PathOrUrl(string str) 
     71        { 
     72            try { 
     73                return(new SvnUrl(str, mPool)); 
     74            } 
     75            catch (SvnException e) {} 
     76            return(new SvnPath(str, mPool)); 
     77        } 
     78         
     79        private Type PathOrUrlArrayType(ICollection coll) 
     80        { 
     81            IEnumerator it = coll.GetEnumerator(); 
     82            it.MoveNext(); 
     83            Type t = it.Current.GetType(); 
     84             
     85            if(t == typeof(SvnUrl) || t == typeof(SvnPath)) 
     86                return t; 
     87             
     88            if(t == typeof(Uri)) 
     89                return typeof(SvnUrl); 
     90                 
     91            try { 
     92                new Uri(it.Current.ToString()); 
     93                return(typeof(SvnUrl)); 
     94            } 
     95            catch (SvnException e) {} 
     96             
     97            return typeof(SvnPath); 
     98        } 
    6999        #endregion 
    70100         
    71101        #region Client methods 
    72         public int Checkout(string url, string path, SvnRevision revision, bool recurse) 
     102        public int Checkout(SvnUrl url, SvnPath path, SvnRevision revision, bool recurse) 
    73103        { 
    74104            return Checkout(url, path, revision.ToSvnOpt(mPool), recurse,  
     
    76106        } 
    77107         
    78         public int Update(string path, SvnRevision revision, bool recurse) 
     108        public int Checkout(string url, string path, SvnRevision revision, bool recurse) 
     109        { 
     110            return Checkout(new SvnUrl(url, mPool), new SvnPath(path, mPool),  
     111                            revision.ToSvnOpt(mPool), recurse, mContext, mPool); 
     112        } 
     113 
     114        public int Update(SvnPath path, SvnRevision revision, bool recurse) 
    79115        { 
    80116            return Update(path, revision.ToSvnOpt(mPool), recurse, 
     
    82118        } 
    83119         
    84         public int Switch(string path, string url, SvnRevision revision, bool recurse) 
     120        public int Update(string path, SvnRevision revision, bool recurse) 
     121        { 
     122            return Update(new SvnPath(path, mPool), revision.ToSvnOpt(mPool), recurse, 
     123                          mContext, mPool); 
     124        } 
     125         
     126        public int Switch(SvnPath path, SvnUrl url, SvnRevision revision, bool recurse) 
    85127        { 
    86128            return Switch(path, url, revision.ToSvnOpt(mPool), recurse, 
     
    88130        } 
    89131         
     132        public int Switch(string path, SvnUrl url, SvnRevision revision, bool recurse) 
     133        { 
     134            return Switch(new SvnPath(path,mPool), url, revision.ToSvnOpt(mPool), recurse, 
     135                          mContext, mPool); 
     136        } 
     137         
     138        public void Add(SvnPath path, bool recurse) 
     139        { 
     140            Add(path, recurse, mContext, mPool); 
     141        } 
     142 
    90143        public void Add(string path, bool recurse) 
    91144        { 
    92             Add(path, recurse, mContext, mPool); 
    93         } 
    94  
     145            Add(new SvnPath(path, mPool), recurse, mContext, mPool); 
     146        } 
     147         
    95148        public SvnClientCommitInfo Mkdir(ICollection paths) 
    96149        { 
    97             return Mkdir(AprArray.CastMake(mPool,paths), mContext, mPool); 
     150            return Mkdir(AprArray.LazyMake(mPool,paths,PathOrUrlArrayType(paths)), mContext, mPool); 
    98151        } 
    99152         
    100153        public SvnClientCommitInfo Delete(ICollection paths, bool force) 
    101154        { 
    102             return Delete(AprArray.CastMake(mPool,paths), force, mContext, mPool); 
    103         } 
    104          
    105         public SvnClientCommitInfo Import(string path, string url, bool nonrecursive) 
     155            return Delete(AprArray.LazyMake(mPool,paths,PathOrUrlArrayType(paths)), force, mContext, mPool); 
     156        } 
     157         
     158        public SvnClientCommitInfo Import(SvnPath path, SvnUrl url, bool nonrecursive) 
    106159        { 
    107160            return Import(path, url, nonrecursive, mContext, mPool); 
    108161        } 
    109162         
     163        public SvnClientCommitInfo Import(string path, SvnUrl url, bool nonrecursive) 
     164        { 
     165            return Import(new SvnPath(path,mPool), url, nonrecursive, mContext, mPool); 
     166        } 
     167         
    110168        public SvnClientCommitInfo Commit(ICollection targets, bool nonrecursive) 
    111169        { 
    112             return Commit(AprArray.CastMake(mPool,targets), nonrecursive, mContext, mPool); 
    113         } 
    114          
     170            return Commit(AprArray.LazyMake(mPool,targets,typeof(SvnPath)), nonrecursive, 
     171                          mContext, mPool); 
     172        } 
     173         
     174        public int Status(SvnPath path, SvnRevision revision, 
     175                          SvnWcStatus.Func statusFunc, IntPtr statusBaton, 
     176                          bool descend, bool getAll, bool update, bool noIgnore) 
     177        { 
     178            return Status(path, revision.ToSvnOpt(mPool), statusFunc, statusBaton, 
     179                          descend, getAll, update, noIgnore, mContext, mPool); 
     180        } 
     181 
    115182        public int Status(string path, SvnRevision revision, 
    116183                          SvnWcStatus.Func statusFunc, IntPtr statusBaton, 
    117184                          bool descend, bool getAll, bool update, bool noIgnore) 
    118185        { 
    119             return Status(path, revision.ToSvnOpt(mPool), statusFunc, statusBaton, 
     186            return Status(new SvnPath(path,mPool), revision.ToSvnOpt(mPool), statusFunc, statusBaton, 
    120187                          descend, getAll, update, noIgnore, mContext, mPool); 
    121188        } 
     
    126193                        LogMessageReceiver receiver, IntPtr baton) 
    127194        { 
    128             Log(AprArray.CastMake(mPool,targets),  
     195            Log(AprArray.LazyMake(mPool,targets,typeof(SvnPath)),  
    129196                start.ToSvnOpt(mPool), end.ToSvnOpt(mPool), 
    130197                discoverChangedPaths, strictNodeHistory, receiver, baton, 
     
    132199        } 
    133200 
     201        public void Blame(SvnPath pathOrUrl, 
     202                          SvnRevision start, SvnRevision end,  
     203                          BlameReceiver receiver, IntPtr baton) 
     204        { 
     205            Blame(pathOrUrl,  
     206                  start.ToSvnOpt(mPool), end.ToSvnOpt(mPool), 
     207                  receiver, baton, mContext, mPool); 
     208        } 
     209 
     210        public void Blame(SvnUrl pathOrUrl, 
     211                          SvnRevision start, SvnRevision end,  
     212                          BlameReceiver receiver, IntPtr baton) 
     213        { 
     214            Blame(pathOrUrl,  
     215                  start.ToSvnOpt(mPool), end.ToSvnOpt(mPool), 
     216                  receiver, baton, mContext, mPool); 
     217        } 
     218         
    134219        public void Blame(string pathOrUrl, 
    135220                          SvnRevision start, SvnRevision end,  
    136221                          BlameReceiver receiver, IntPtr baton) 
    137222        { 
    138             Blame(pathOrUrl,  
    139                   start.ToSvnOpt(mPool), end.ToSvnOpt(mPool), 
    140                   receiver, baton, mContext, mPool); 
     223            InternalBlame(PathOrUrl(pathOrUrl),  
     224                         start.ToSvnOpt(mPool), end.ToSvnOpt(mPool), 
     225                         receiver, baton, mContext, mPool); 
    141226        } 
    142227 
    143228        public void Diff(ICollection diffOptions, 
    144                          string path1, SvnRevision revision1, 
    145                          string path2, SvnRevision revision2, 
     229                         SvnPath path1, SvnRevision revision1, 
     230                         SvnPath path2, SvnRevision revision2, 
    146231                         bool recurse, bool ignoreAncestry, bool noDiffDeleted, 
    147232                         AprFile outFile, AprFile errFile) 
    148233        { 
    149             Diff(AprArray.CastMake(mPool,diffOptions), 
     234            Diff(AprArray.LazyMake(mPool,diffOptions,typeof(AprString)), 
    150235                 path1, revision1.ToSvnOpt(mPool), 
    151236                 path2, revision2.ToSvnOpt(mPool), 
     
    154239        } 
    155240         
     241        public void Diff(ICollection diffOptions, 
     242                         SvnPath path1, SvnRevision revision1, 
     243                         SvnUrl path2, SvnRevision revision2, 
     244                         bool recurse, bool ignoreAncestry, bool noDiffDeleted, 
     245                         AprFile outFile, AprFile errFile) 
     246        { 
     247            Diff(AprArray.LazyMake(mPool,diffOptions,typeof(AprString)), 
     248                 path1, revision1.ToSvnOpt(mPool), 
     249                 path2, revision2.ToSvnOpt(mPool), 
     250                 recurse, ignoreAncestry, noDiffDeleted, 
     251                 outFile, errFile, mContext, mPool); 
     252        } 
     253         
     254        public void Diff(ICollection diffOptions, 
     255                         SvnUrl path1, SvnRevision revision1, 
     256                         SvnPath path2, SvnRevision revision2, 
     257                         bool recurse, bool ignoreAncestry, bool noDiffDeleted, 
     258                         AprFile outFile, AprFile errFile) 
     259        { 
     260            Diff(AprArray.LazyMake(mPool,diffOptions,typeof(AprString)), 
     261                 path1, revision1.ToSvnOpt(mPool), 
     262                 path2, revision2.ToSvnOpt(mPool), 
     263                 recurse, ignoreAncestry, noDiffDeleted, 
     264                 outFile, errFile, mContext, mPool); 
     265        } 
     266         
     267        public void Diff(ICollection diffOptions, 
     268                         SvnUrl path1, SvnRevision revision1, 
     269                         SvnUrl path2, SvnRevision revision2, 
     270                         bool recurse, bool ignoreAncestry, bool noDiffDeleted, 
     271                         AprFile outFile, AprFile errFile) 
     272        { 
     273            Diff(AprArray.LazyMake(mPool,diffOptions,typeof(AprString)), 
     274                 path1, revision1.ToSvnOpt(mPool), 
     275                 path2, revision2.ToSvnOpt(mPool), 
     276                 recurse, ignoreAncestry, noDiffDeleted, 
     277                 outFile, errFile, mContext, mPool); 
     278        } 
     279         
     280        public void Merge(SvnPath source1, SvnRevision revision1, 
     281                          SvnPath source2, SvnRevision revision2, 
     282                          SvnPath targetWCPath, bool recurse, 
     283                          bool ignoreAncestry, bool force, bool dryRun) 
     284        { 
     285            Merge(source1, revision1.ToSvnOpt(mPool), 
     286                  source2, revision2.ToSvnOpt(mPool), 
     287                  targetWCPath, recurse, ignoreAncestry, force, dryRun, mContext, mPool); 
     288        } 
     289         
     290        public void Merge(SvnUrl source1, SvnRevision revision1, 
     291                          SvnUrl source2, SvnRevision revision2, 
     292                          SvnPath targetWCPath, bool recurse, 
     293                          bool ignoreAncestry, bool force, bool dryRun) 
     294        { 
     295            Merge(source1, revision1.ToSvnOpt(mPool), 
     296                  source2, revision2.ToSvnOpt(mPool), 
     297                  targetWCPath, recurse, ignoreAncestry, force, dryRun, mContext, mPool); 
     298        } 
     299         
    156300        public void Merge(string source1, SvnRevision revision1, 
    157301                          string source2, SvnRevision revision2, 
     
    159303                          bool ignoreAncestry, bool force, bool dryRun) 
    160304        { 
    161             Merge(source1, revision1.ToSvnOpt(mPool), 
    162                   source2, revision2.ToSvnOpt(mPool), 
    163                   targetWCPath, recurse, ignoreAncestry, force, dryRun, mContext, mPool); 
     305            InternalMerge(PathOrUrl(source1), revision1.ToSvnOpt(mPool), 
     306                          PathOrUrl(source2), revision2.ToSvnOpt(mPool), 
     307                          new SvnPath(targetWCPath,mPool), 
     308                          recurse, ignoreAncestry, force, dryRun, mContext, mPool); 
     309        } 
     310         
     311        public void CleanUp(SvnPath dir) 
     312        { 
     313            CleanUp(dir, mContext, mPool); 
    164314        } 
    165315         
    166316        public void CleanUp(string dir) 
    167317        { 
    168             CleanUp(dir, mContext, mPool); 
     318            CleanUp(new SvnPath(dir, mPool), mContext, mPool); 
     319        } 
     320         
     321        public void Relocate(SvnPath dir, SvnUrl from, SvnUrl to, bool recurse) 
     322        { 
     323            Relocate(dir, from, to, recurse, mContext, mPool); 
    169324        } 
    170325         
    171326        public void Relocate(string dir, string from, string to, bool recurse) 
    172327        { 
    173             Relocate(dir, from, to, recurse, mContext, mPool); 
     328            Relocate(new SvnPath(dir, mPool), new SvnUrl(from, mPool), new SvnUrl(to, mPool), 
     329                     recurse, mContext, mPool); 
    174330        } 
    175331         
    176332        public void Revert(ICollection paths, bool recurse) 
    177333        { 
    178             Revert(AprArray.CastMake(mPool,paths), recurse, mContext, mPool); 
     334            Revert(AprArray.LazyMake(mPool,paths,typeof(SvnPath)), recurse, mContext, mPool); 
     335        } 
     336         
     337        public void Resolved(SvnPath path, bool recurse) 
     338        { 
     339            Resolved(path, recurse, mContext, mPool); 
    179340        } 
    180341         
    181342        public void Resolved(string path, bool recurse) 
    182343        { 
    183             Resolved(path, recurse, mContext, mPool); 
    184         } 
    185          
     344            Resolved(new SvnPath(path, mPool), recurse, mContext, mPool); 
     345        } 
     346         
     347        public void Copy(SvnPath srcPath, SvnRevision srcRevision, SvnPath dstPath) 
     348        { 
     349            Copy(srcPath, srcRevision.ToSvnOpt(mPool), dstPath, mContext, mPool); 
     350        } 
     351                                     
     352        public SvnClientCommitInfo Copy(SvnUrl srcPath, SvnRevision srcRevision, SvnUrl dstPath) 
     353        { 
     354            return Copy(srcPath, srcRevision.ToSvnOpt(mPool), dstPath, mContext, mPool); 
     355        } 
     356                                     
    186357        public SvnClientCommitInfo Copy(string srcPath, SvnRevision srcRevision, string dstPath) 
    187358        { 
    188             return Copy(srcPath, srcRevision.ToSvnOpt(mPool), dstPath, mContext, mPool); 
    189         } 
    190                                      
     359            return InternalCopy(PathOrUrl(srcPath), srcRevision.ToSvnOpt(mPool),  
     360                                PathOrUrl(dstPath), mContext, mPool); 
     361        } 
     362         
     363        public void Move(SvnPath srcPath, SvnRevision srcRevision, 
     364                         SvnPath dstPath, bool force) 
     365        { 
     366            Move(srcPath, srcRevision.ToSvnOpt(mPool), dstPath, force, mContext, mPool); 
     367        } 
     368         
     369        public SvnClientCommitInfo Move(SvnUrl srcPath, SvnRevision srcRevision, 
     370                                        SvnUrl dstPath, bool force) 
     371        { 
     372            return Move(srcPath, srcRevision.ToSvnOpt(mPool), dstPath, force, mContext, mPool); 
     373        } 
     374         
    191375        public SvnClientCommitInfo Move(string srcPath, SvnRevision srcRevision, 
    192376                                        string dstPath, bool force) 
    193377        { 
    194             return Move(srcPath, srcRevision.ToSvnOpt(mPool), dstPath, force, 
    195                         mContext, mPool); 
     378            return InternalMove(PathOrUrl(srcPath), srcRevision.ToSvnOpt(mPool),  
     379                                PathOrUrl(dstPath), force, mContext, mPool); 
     380        } 
     381         
     382        public void PropSet(string propName, SvnString propVal, SvnPath target, bool recurse)        
     383        { 
     384            PropSet(propName, propVal, target, recurse, mPool); 
     385        } 
     386         
     387        public void PropSet(string propName, string propVal, SvnPath target, bool recurse)       
     388        { 
     389            PropSet(propName, new SvnString(propVal, mPool), target, recurse, mPool); 
     390        } 
     391         
     392        public void PropSet(string propName, SvnString propVal, SvnUrl target, bool recurse)         
     393        { 
     394            PropSet(propName, propVal, target, recurse, mPool); 
     395        } 
     396         
     397        public void PropSet(string propName, string propVal, SvnUrl target, bool recurse)        
     398        { 
     399            PropSet(propName, new SvnString(propVal, mPool), target, recurse, mPool); 
    196400        } 
    197401         
    198402        public void PropSet(string propName, SvnString propVal, string target, bool recurse)         
    199403        { 
    200             PropSet(propName, propVal, target, recurse, mPool); 
     404            InternalPropSet(propName, propVal, PathOrUrl(target), recurse, mPool); 
     405        } 
     406         
     407        public void PropSet(string propName, string propVal, string target, bool recurse)        
     408        { 
     409            InternalPropSet(propName, new SvnString(propVal, mPool), PathOrUrl(target), recurse, 
     410                            mPool); 
     411        } 
     412         
     413        public int RevPropSet(string propName, SvnString propVal, 
     414                              SvnUrl url, SvnRevision revision, bool force)      
     415        { 
     416            return RevPropSet(propName, propVal, url, revision.ToSvnOpt(mPool), force, 
     417                              mContext, mPool); 
     418        } 
     419         
     420        public int RevPropSet(string propName, string propVal, 
     421                              SvnUrl url, SvnRevision revision, bool force)      
     422        { 
     423            return RevPropSet(propName, new SvnString(propVal, mPool), url, 
     424                              revision.ToSvnOpt(mPool), force, mContext, mPool); 
    201425        } 
    202426         
     
    204428                              string url, SvnRevision revision, bool force)      
    205429        { 
    206             return RevPropSet(propName, propVal, url, revision.ToSvnOpt(mPool), force, 
    207                               mContext, mPool); 
     430            return RevPropSet(propName, propVal, new SvnUrl(url, mPool), 
     431                              revision.ToSvnOpt(mPool), force, mContext, mPool); 
     432        } 
     433         
     434        public int RevPropSet(string propName, string propVal, 
     435                              string url, SvnRevision revision, bool force)      
     436        { 
     437            return RevPropSet(propName, new SvnString(propVal,mPool), new SvnUrl(url, mPool), 
     438                              revision.ToSvnOpt(mPool), force, mContext, mPool); 
     439        } 
     440         
     441        public AprHash PropGet(string propName, SvnPath target, 
     442                               SvnRevision revision, bool recurse)       
     443        { 
     444            return PropGet(propName, target, revision.ToSvnOpt(mPool), recurse, 
     445                           mContext, mPool); 
     446        } 
     447         
     448        public AprHash PropGet(string propName, SvnUrl target, 
     449                               SvnRevision revision, bool recurse)       
     450        { 
     451            return PropGet(propName, target, revision.ToSvnOpt(mPool), recurse, 
     452                           mContext, mPool); 
    208453        } 
    209454         
     
    211456                               SvnRevision revision, bool recurse)       
    212457        { 
    213             return PropGet(propName, target, revision.ToSvnOpt(mPool), recurse, 
    214                            mContext, mPool); 
     458            return InternalPropGet(propName, PathOrUrl(target), revision.ToSvnOpt(mPool), recurse, 
     459                                   mContext, mPool); 
     460        } 
     461         
     462        public SvnString RevPropGet(string propName, SvnUrl url, 
     463                                    SvnRevision revision, out int setRev)        
     464        { 
     465            return RevPropGet(propName, url, revision.ToSvnOpt(mPool), out setRev, 
     466                              mContext, mPool); 
    215467        } 
    216468         
     
    218470                                    SvnRevision revision, out int setRev)        
    219471        { 
    220             return RevPropGet(propName, url, revision.ToSvnOpt(mPool), out setRev, 
    221                               mContext, mPool); 
     472            return RevPropGet(propName, new SvnUrl(url, mPool), revision.ToSvnOpt(mPool), 
     473                              out setRev, mContext, mPool); 
     474        } 
     475         
     476        public AprHash PropList(SvnPath target, SvnRevision revision, bool recurse)      
     477        { 
     478            return PropList(target, revision.ToSvnOpt(mPool), recurse, mContext, mPool); 
     479        } 
     480         
     481        public AprHash PropList(SvnUrl target, SvnRevision revision, bool recurse)       
     482        { 
     483            return PropList(target, revision.ToSvnOpt(mPool), recurse, mContext, mPool); 
    222484        } 
    223485         
    224486        public AprHash PropList(string target, SvnRevision revision, bool recurse)       
    225487        { 
    226             return PropList(target, revision.ToSvnOpt(mPool), recurse, mContext, mPool); 
    227         } 
    228          
     488            return InternalPropList(PathOrUrl(target), revision.ToSvnOpt(mPool), recurse, 
     489                                    mContext, mPool); 
     490        } 
     491         
     492        public AprHash RevPropList(SvnUrl url, SvnRevision revision, out int setRev)         
     493        { 
     494            return RevPropList(url, revision.ToSvnOpt(mPool), out setRev, mContext, mPool); 
     495        } 
     496 
    229497        public AprHash RevPropList(string url, SvnRevision revision, out int setRev)         
    230498        { 
    231             return RevPropList(url, revision.ToSvnOpt(mPool), out setRev, mContext, mPool); 
    232         } 
    233  
     499            return RevPropList(new SvnUrl(url, mPool), revision.ToSvnOpt(mPool), out setRev, 
     500                               mContext, mPool); 
     501        } 
     502 
     503        public void Export(SvnPath from, SvnPath to, SvnRevision revision, bool force) 
     504        { 
     505            Export(from, to, revision.ToSvnOpt(mPool), force, mContext, mPool); 
     506        } 
     507         
     508        public int Export(SvnUrl from, SvnPath to, SvnRevision revision, bool force) 
     509        { 
     510            return Export(from, to, revision.ToSvnOpt(mPool), force, mContext, mPool); 
     511        } 
     512         
    234513        public int Export(string from, string to, SvnRevision revision, bool force) 
    235514        { 
    236             return Export(from, to, revision.ToSvnOpt(mPool), force, mContext, mPool); 
     515            return InternalExport(PathOrUrl(from), new SvnPath(to,mPool), revision.ToSvnOpt(mPool), 
     516                                  force, mContext, mPool); 
     517        } 
     518         
     519        public AprHash List(SvnPath pathOrUrl, SvnRevision revision, bool recurse)       
     520        { 
     521            return List(pathOrUrl, revision.ToSvnOpt(mPool), recurse, mContext, mPool); 
     522        } 
     523         
     524        public AprHash List(SvnUrl pathOrUrl, SvnRevision revision, bool recurse)        
     525        { 
     526            return List(pathOrUrl, revision.ToSvnOpt(mPool), recurse, mContext, mPool); 
    237527        } 
    238528         
    239529        public AprHash List(string pathOrUrl, SvnRevision revision, bool recurse)        
    240530        { 
    241             return List(pathOrUrl, revision.ToSvnOpt(mPool), recurse, mContext, mPool); 
     531            return InternalList(PathOrUrl(pathOrUrl), revision.ToSvnOpt(mPool), recurse, 
     532                                mContext, mPool); 
     533        } 
     534         
     535        public void Cat(SvnStream stream, SvnPath pathOrUrl, SvnRevision revision)       
     536        { 
     537            Cat(stream, pathOrUrl, revision.ToSvnOpt(mPool), mContext, mPool); 
     538        } 
     539         
     540        public void Cat(SvnStream stream, SvnUrl pathOrUrl, SvnRevision revision)        
     541        { 
     542            Cat(stream, pathOrUrl, revision.ToSvnOpt(mPool), mContext, mPool); 
    242543        } 
    243544         
    244545        public void Cat(SvnStream stream, string pathOrUrl, SvnRevision revision)        
    245546        { 
    246             Cat(stream, pathOrUrl, revision.ToSvnOpt(mPool), mContext, mPool); 
    247         } 
    248          
    249         public AprString UrlFromPath(string pathOrUrl) 
     547            InternalCat(stream, PathOrUrl(pathOrUrl), revision.ToSvnOpt(mPool), mContext, mPool); 
     548        } 
     549         
     550        public SvnUrl UrlFromPath(SvnPath pathOrUrl) 
    250551        { 
    251552            return UrlFromPath(pathOrUrl, mPool); 
    252553        } 
    253554         
     555        public SvnUrl UrlFromPath(SvnUrl pathOrUrl) 
     556        { 
     557            return UrlFromPath(pathOrUrl, mPool); 
     558        } 
     559         
     560        public SvnUrl UrlFromPath(string pathOrUrl) 
     561        { 
     562            return InternalUrlFromPath(PathOrUrl(pathOrUrl), mPool); 
     563        } 
     564         
     565        public AprString UuidFromUrl(SvnUrl url) 
     566        { 
     567            return UuidFromUrl(url, mContext, mPool); 
     568        } 
     569 
    254570        public AprString UuidFromUrl(string url) 
    255571        { 
    256             return UuidFromUrl(url, mContext, mPool); 
     572            return UuidFromUrl(new SvnUrl(url, mPool), mContext, mPool); 
    257573        } 
    258574 
  • trunk/SubversionSharp/dev/src/SvnClientBase.cs

    r44 r50  
    1717    public class SvnClientBase 
    1818    { 
    19         public delegate SvnError GetCommitLog(out AprString logMessage, out AprString tmpFile, 
     19        public delegate SvnError GetCommitLog(out AprString logMessage, out SvnPath tmpFile, 
    2020                                              AprArray commitItems, IntPtr baton, 
    2121                                              AprPool pool); 
     
    3030                                               AprPool pool); 
    3131                                                                                                                                                
    32         public static int Checkout(string url, string path,  
     32        public static int Checkout(SvnUrl url, SvnPath path,  
    3333                                   SvnOptRevision revision,  
    3434                                   bool recurse, SvnClientContext ctx, AprPool pool) 
     
    4646         
    4747         
    48         public static int Update(string path,  
     48        public static int Update(SvnPath path,  
    4949                                 SvnOptRevision revision,  
    5050                                 bool recurse, SvnClientContext ctx, AprPool pool) 
     
    6161        } 
    6262         
    63         public static int Switch(string path, string url,  
     63        public static int Switch(SvnPath path, SvnUrl url,  
    6464                                 SvnOptRevision revision,  
    6565                                 bool recurse, SvnClientContext ctx, AprPool pool) 
     
    7676        } 
    7777         
    78         public static void Add(string path, 
     78        public static void Add(SvnPath path, 
    7979                               bool recurse,  
    8080                               SvnClientContext ctx, AprPool pool) 
     
    111111        } 
    112112         
    113         public static SvnClientCommitInfo Import(string path, string url, bool nonrecursive,   
     113        public static SvnClientCommitInfo Import(SvnPath path, SvnUrl url, bool nonrecursive,   
    114114                                                 SvnClientContext ctx, AprPool pool) 
    115115        { 
     
    137137        } 
    138138         
    139         public static int Status(string path, 
     139        public static int Status(SvnPath path, 
    140140                                 SvnOptRevision revision, 
    141141                                 SvnWcStatus.Func statusFunc, IntPtr statusBaton, 
     
    179179        } 
    180180         
    181         public static void Blame(string pathOrUrl, 
     181        public static void Blame(SvnPath pathOrUrl, 
    182182                                 SvnOptRevision start, SvnOptRevision end,  
    183183                                 BlameReceiver receiver, IntPtr baton, 
    184184                                 SvnClientContext ctx, AprPool pool) 
    185185        { 
     186            InternalBlame(pathOrUrl, start, end, receiver, baton, ctx, pool); 
     187        } 
     188         
     189        public static void Blame(SvnUrl pathOrUrl, 
     190                                 SvnOptRevision start, SvnOptRevision end,  
     191                                 BlameReceiver receiver, IntPtr baton, 
     192                                 SvnClientContext ctx, AprPool pool) 
     193        { 
     194            InternalBlame(pathOrUrl, start, end, receiver, baton, ctx, pool); 
     195        } 
     196         
     197        protected static void InternalBlame(IAprUnmanaged pathOrUrl, 
     198                                          SvnOptRevision start, SvnOptRevision end,  
     199                                          BlameReceiver receiver, IntPtr baton, 
     200                                          SvnClientContext ctx, AprPool pool) 
     201        { 
    186202            SvnDelegate receiverDelegate = new SvnDelegate(receiver); 
    187203            Debug.WriteLine(String.Format("svn_client_blame({0},{1},{2},{3},{4:X},{5},{6})",pathOrUrl,start,end,receiver.Method.Name,baton.ToInt32(),ctx,pool)); 
    188             SvnError err = Svn.svn_client_blame(pathOrUrl, start, end, 
     204            SvnError err = Svn.svn_client_blame(pathOrUrl.ToIntPtr(), start, end, 
    189205                                                (Svn.svn_client_blame_receiver_t)receiverDelegate.Wrapper, 
    190206                                                baton, 
     
    195211         
    196212        public static void Diff(AprArray diffOptions, 
    197                                 string path1, SvnOptRevision revision1, 
    198                                 string path2, SvnOptRevision revision2, 
     213                                SvnPath path1, SvnOptRevision revision1, 
     214                                SvnPath path2, SvnOptRevision revision2, 
     215                                bool recurse, bool ignoreAncestry, bool noDiffDeleted, 
     216                                AprFile outFile, AprFile errFile,   
     217                                SvnClientContext ctx, AprPool pool) 
     218        { 
     219            InternalDiff(diffOptions, path1, revision1, path2, revision2, 
     220                         recurse, ignoreAncestry, noDiffDeleted, outFile, errFile, ctx, pool); 
     221        } 
     222         
     223        public static void Diff(AprArray diffOptions, 
     224                                SvnUrl path1, SvnOptRevision revision1, 
     225                                SvnPath path2, SvnOptRevision revision2, 
     226                                bool recurse, bool ignoreAncestry, bool noDiffDeleted, 
     227                                AprFile outFile, AprFile errFile,   
     228                                SvnClientContext ctx, AprPool pool) 
     229        { 
     230            InternalDiff(diffOptions, path1, revision1, path2, revision2, 
     231                         recurse, ignoreAncestry, noDiffDeleted, outFile, errFile, ctx, pool); 
     232        } 
     233         
     234        public static void Diff(AprArray diffOptions, 
     235                                SvnPath path1, SvnOptRevision revision1, 
     236                                SvnUrl path2, SvnOptRevision revision2, 
     237                                bool recurse, bool ignoreAncestry, bool noDiffDeleted, 
     238                                AprFile outFile, AprFile errFile,   
     239                                SvnClientContext ctx, AprPool pool) 
     240        { 
     241            InternalDiff(diffOptions, path1, revision1, path2, revision2, 
     242                         recurse, ignoreAncestry, noDiffDeleted, outFile, errFile, ctx, pool); 
     243        } 
     244         
     245        public static void Diff(AprArray diffOptions, 
     246                                SvnUrl path1, SvnOptRevision revision1, 
     247                                SvnUrl path2, SvnOptRevision revision2, 
    199248                                bool recurse, bool ignoreAncestry, bool noDiffDeleted, 
    200249                                AprFile outFile, AprFile errFile,   
     
    210259        } 
    211260         
    212         public static void Merge(string source1, SvnOptRevision revision1, 
    213                                  string source2, SvnOptRevision revision2, 
    214                                  string targetWCPath, bool recurse, 
     261        protected static void InternalDiff(AprArray diffOptions, 
     262                                IAprUnmanaged path1, SvnOptRevision revision1, 
     263                                IAprUnmanaged path2, SvnOptRevision revision2, 
     264                                bool recurse, bool ignoreAncestry, bool noDiffDeleted, 
     265                                AprFile outFile, AprFile errFile,   
     266                                SvnClientContext ctx, AprPool pool) 
     267        { 
     268            Debug.WriteLine(String.Format("svn_client_diff({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11})",diffOptions,path1,revision1,path2,revision2,recurse,ignoreAncestry,noDiffDeleted,outFile,errFile,ctx,pool)); 
     269            SvnError err = Svn.svn_client_diff(diffOptions, path1.ToIntPtr(), revision1,  
     270                                               path2.ToIntPtr(), revision2, 
     271                                               (recurse ? 1 : 0), (ignoreAncestry ? 1 : 0), 
     272                                               (noDiffDeleted ? 1 : 0), outFile, errFile, 
     273                                               ctx, pool); 
     274            if( !err.IsNoError ) 
     275                throw new SvnException(err); 
     276        } 
     277         
     278        public static void Merge(SvnPath source1, SvnOptRevision revision1, 
     279                                 SvnPath source2, SvnOptRevision revision2, 
     280                                 SvnPath targetWCPath, bool recurse, 
    215281                                 bool ignoreAncestry, bool force, bool dryRun, 
    216282                                 SvnClientContext ctx, AprPool pool) 
    217283        { 
     284            InternalMerge(source1, revision1, source2, revision2, targetWCPath, recurse, 
     285                          ignoreAncestry, force, dryRun, ctx, pool); 
     286        } 
     287         
     288        public static void Merge(SvnUrl source1, SvnOptRevision revision1, 
     289                                 SvnUrl source2, SvnOptRevision revision2, 
     290                                 SvnPath targetWCPath, bool recurse, 
     291                                 bool ignoreAncestry, bool force, bool dryRun, 
     292                                 SvnClientContext ctx, AprPool pool) 
     293        { 
     294            InternalMerge(source1, revision1, source2, revision2, targetWCPath, recurse, 
     295                          ignoreAncestry, force, dryRun, ctx, pool); 
     296        } 
     297         
     298        protected static void InternalMerge(IAprUnmanaged source1, SvnOptRevision revision1, 
     299                                          IAprUnmanaged source2, SvnOptRevision revision2, 
     300                                          SvnPath targetWCPath, bool recurse, 
     301                                          bool ignoreAncestry, bool force, bool dryRun, 
     302                                          SvnClientContext ctx, AprPool pool) 
     303        { 
    218304            Debug.WriteLine(String.Format("svn_client_merge({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10})",source1,revision1,source2,revision2,targetWCPath,recurse,ignoreAncestry,force,dryRun,ctx,pool)); 
    219             SvnError err = Svn.svn_client_merge(source1, revision1, source2, revision2, 
     305            SvnError err = Svn.svn_client_merge(source1.ToIntPtr(), revision1,  
     306                                                source2.ToIntPtr(), revision2, 
    220307                                                targetWCPath, (recurse ? 1 : 0), 
    221308                                                (ignoreAncestry ? 1 : 0), (force ? 1 : 0), 
     
    226313        } 
    227314         
    228         public static void CleanUp(string dir, 
     315        public static void CleanUp(SvnPath dir, 
    229316                                   SvnClientContext ctx, AprPool pool) 
    230317        { 
     
    235322        } 
    236323         
    237         public static void Relocate(string dir, string from, string to, 
     324        public static void Relocate(SvnPath dir, SvnUrl from, SvnUrl to, 
    238325                                    bool recurse, 
    239326                                    SvnClientContext ctx, AprPool pool) 
     
    254341        } 
    255342         
    256         public static void Resolved(string path, bool recurse,                                   
     343        public static void Resolved(SvnPath path, bool recurse,                                  
    257344                                    SvnClientContext ctx, AprPool pool) 
    258345        { 
     
    263350        } 
    264351         
    265         public static SvnClientCommitInfo Copy(string srcPath, SvnOptRevision srcRevision, 
    266                                                string dstPath, 
     352        public static void Copy(SvnPath srcPath, SvnOptRevision srcRevision, 
     353                                SvnPath dstPath, 
     354                                SvnClientContext ctx, AprPool pool) 
     355        { 
     356            InternalCopy(srcPath, srcRevision, dstPath, ctx, pool); 
     357        } 
     358                                     
     359        public static SvnClientCommitInfo Copy(SvnUrl srcPath, SvnOptRevision srcRevision, 
     360                                               SvnUrl dstPath, 
    267361                                               SvnClientContext ctx, AprPool pool) 
     362        { 
     363            return InternalCopy(srcPath, srcRevision, dstPath, ctx, pool); 
     364        } 
     365                                     
     366        protected static SvnClientCommitInfo InternalCopy(IAprUnmanaged srcPath, SvnOptRevision srcRevision, 
     367                                                        IAprUnmanaged dstPath, 
     368                                                        SvnClientContext ctx, AprPool pool) 
    268369        { 
    269370            IntPtr commitInfo; 
    270371            Debug.Write(String.Format("svn_client_copy({0},{1},{2},{3},{4})...",srcPath,srcRevision,dstPath,ctx,pool)); 
    271             SvnError err = Svn.svn_client_copy(out commitInfo, srcPath, srcRevision, 
    272                                                dstPath
     372            SvnError err = Svn.svn_client_copy(out commitInfo, srcPath.ToIntPtr(), srcRevision, 
     373                                               dstPath.ToIntPtr()
    273374                                               ctx, pool); 
    274375            if( !err.IsNoError ) 
     
    278379        } 
    279380                                     
    280         public static SvnClientCommitInfo Move(string srcPath, SvnOptRevision srcRevision, 
    281                                                string dstPath, bool force, 
     381        public static void Move(SvnPath srcPath, SvnOptRevision srcRevision, 
     382                                SvnPath dstPath, bool force, 
     383                                SvnClientContext ctx, AprPool pool) 
     384        { 
     385            InternalMove(srcPath, srcRevision, dstPath, force, ctx, pool); 
     386        } 
     387         
     388        public static SvnClientCommitInfo Move(SvnUrl srcPath, SvnOptRevision srcRevision, 
     389                                               SvnUrl dstPath, bool force, 
    282390                                               SvnClientContext ctx, AprPool pool) 
     391        { 
     392            return InternalMove(srcPath, srcRevision, dstPath, force, ctx, pool); 
     393        } 
     394         
     395        public static SvnClientCommitInfo InternalMove(IAprUnmanaged srcPath,  
     396                                                       SvnOptRevision srcRevision, 
     397                                                       IAprUnmanaged dstPath, bool force, 
     398                                                       SvnClientContext ctx, AprPool pool) 
    283399        { 
    284400            IntPtr commitInfo; 
    285401            Debug.Write(String.Format("svn_client_move({0},{1},{2},{3},{4},{5})...",srcPath,srcRevision,dstPath,force,ctx,pool)); 
    286             SvnError err = Svn.svn_client_move(out commitInfo, srcPath, srcRevision, 
    287                                                dstPath, (force ? 1 : 0), 
     402            SvnError err = Svn.svn_client_move(out commitInfo, srcPath.ToIntPtr(), srcRevision, 
     403                                               dstPath.ToIntPtr(), (force ? 1 : 0), 
    288404                                               ctx, pool); 
    289405            if( !err.IsNoError ) 
     
    293409        } 
    294410         
    295         public static void PropSet(string propName, SvnString propVal, string target,  
     411        public static void PropSet(string propName, SvnString propVal, SvnPath target,  
    296412                                   bool recurse, AprPool pool)       
    297413        { 
     414            InternalPropSet(propName, propVal, target, recurse, pool);       
     415        } 
     416         
     417        public static void PropSet(string propName, SvnString propVal, SvnUrl target,  
     418                                   bool recurse, AprPool pool)       
     419        { 
     420            InternalPropSet(propName, propVal, target, recurse, pool);       
     421        } 
     422         
     423        protected static void InternalPropSet(string propName, SvnString propVal, IAprUnmanaged target,  
     424                                            bool recurse, AprPool pool)      
     425        { 
    298426            Debug.WriteLine(String.Format("svn_client_propset({0},{1},{2},{3},{4})",propName,propVal,target,recurse,pool)); 
    299             SvnError err = Svn.svn_client_propset(propName, propVal, target
     427            SvnError err = Svn.svn_client_propset(propName, propVal, target.ToIntPtr()
    300428                                                  (recurse ? 1 : 0), pool); 
    301429            if( !err.IsNoError ) 
     
    304432         
    305433        public static int RevPropSet(string propName, SvnString propVal, 
    306                                      string url, SvnOptRevision revision, bool force, 
     434                                     SvnUrl url, SvnOptRevision revision, bool force, 
    307435                                     SvnClientContext ctx, AprPool pool)         
    308436        { 
     
    318446        } 
    319447         
    320         public static AprHash PropGet(string propName, string target, 
     448        public static AprHash PropGet(string propName, SvnPath target, 
    321449                                      SvnOptRevision revision, bool recurse,  
    322450                                      SvnClientContext ctx, AprPool pool)        
    323451        { 
     452            return InternalPropGet(propName, target, revision, recurse, ctx, pool);      
     453        } 
     454         
     455        public static AprHash PropGet(string propName, SvnUrl target, 
     456                                      SvnOptRevision revision, bool recurse,  
     457                                      SvnClientContext ctx, AprPool pool)        
     458        { 
     459            return InternalPropGet(propName, target, revision, recurse, ctx, pool);      
     460        } 
     461         
     462        protected static AprHash InternalPropGet(string propName, IAprUnmanaged target, 
     463                                               SvnOptRevision revision, bool recurse,  
     464                                               SvnClientContext ctx, AprPool pool)       
     465        { 
    324466            IntPtr h; 
    325467            Debug.Write(String.Format("svn_client_propget({0},{1},{2},{3},{4},{5})...",propName,target,revision,recurse,ctx,pool)); 
    326             SvnError err = Svn.svn_client_propget(out h, propName, target, revision, 
     468            SvnError err = Svn.svn_client_propget(out h, propName, target.ToIntPtr(), revision, 
    327469                                                  (recurse ? 1 : 0), 
    328470                                                  ctx, pool); 
     
    333475        } 
    334476         
    335         public static SvnString RevPropGet(string propName, string url, 
     477        public static SvnString RevPropGet(string propName, SvnUrl url, 
    336478                                           SvnOptRevision revision, out int setRev,  
    337479                                           SvnClientContext ctx, AprPool pool)       
     
    347489        } 
    348490         
    349         public static AprHash PropList(string target, 
     491        public static AprHash PropList(SvnPath target, 
    350492                                       SvnOptRevision revision, bool recurse,  
    351493                                       SvnClientContext ctx, AprPool pool)       
    352494        { 
     495            return InternalPropList(target, revision, recurse, ctx, pool);       
     496        } 
     497         
     498        public static AprHash PropList(SvnUrl target, 
     499                                       SvnOptRevision revision, bool recurse,  
     500                                       SvnClientContext ctx, AprPool pool)       
     501        { 
     502            return InternalPropList(target, revision, recurse, ctx, pool);       
     503        } 
     504         
     505        protected static AprHash InternalPropList(IAprUnmanaged target, 
     506                                                SvnOptRevision revision, bool recurse,  
     507                                                SvnClientContext ctx, AprPool pool)      
     508        { 
    353509            IntPtr h; 
    354510            Debug.Write(String.Format("svn_client_proplist({0},{1},{2},{3},{4})...",target,revision,recurse,ctx,pool)); 
    355             SvnError err = Svn.svn_client_proplist(out h, target, revision, 
     511            SvnError err = Svn.svn_client_proplist(out h, target.ToIntPtr(), revision, 
    356512                                                   (recurse ? 1 : 0), 
    357513                                                   ctx, pool); 
     
    362518        } 
    363519         
    364         public static AprHash RevPropList(string url, 
     520        public static AprHash RevPropList(SvnUrl url, 
    365521                                          SvnOptRevision revision, out int setRev,  
    366522                                          SvnClientContext ctx, AprPool pool)        
     
    376532        } 
    377533 
    378         public static int Export(string from, string to,  
    379                                    SvnOptRevision revision,  
    380                                    bool force, SvnClientContext ctx, AprPool pool) 
     534        public static void Export(SvnPath from, SvnPath to,  
     535                                  SvnOptRevision revision,  
     536                                  bool force, SvnClientContext ctx, AprPool pool) 
     537        { 
     538            InternalExport(from, to, revision, force, ctx, pool); 
     539        } 
     540         
     541        public static int Export(SvnUrl from, SvnPath to,  
     542                                 SvnOptRevision revision,  
     543                                 bool force, SvnClientContext ctx, AprPool pool) 
     544        { 
     545            return InternalExport(from, to, revision, force, ctx, pool); 
     546        } 
     547         
     548        protected static int InternalExport(IAprUnmanaged from, SvnPath to,  
     549                                          SvnOptRevision revision,  
     550                                          bool force, SvnClientContext ctx, AprPool pool) 
    381551        { 
    382552            int rev; 
    383553            Debug.Write(String.Format("svn_client_export({0},{1},{2},{3},{4},{5})...",from,to,revision,force,ctx,pool)); 
    384             SvnError err = Svn.svn_client_export(out rev, from, to,  
     554            SvnError err = Svn.svn_client_export(out rev, from.ToIntPtr(), to,  
    385555                                                 revision,  
    386556                                                 (force ? 1 :0), ctx, pool); 
     
    391561        } 
    392562         
    393         public static AprHash List(string pathOrUrl, 
     563        public static AprHash List(SvnPath pathOrUrl, 
    394564                                   SvnOptRevision revision, bool recurse,  
    395565                                   SvnClientContext ctx, AprPool pool)       
    396566        { 
     567            return InternalList(pathOrUrl, revision, recurse, ctx, pool);        
     568        } 
     569         
     570        public static AprHash List(SvnUrl pathOrUrl, 
     571                                   SvnOptRevision revision, bool recurse,  
     572                                   SvnClientContext ctx, AprPool pool)       
     573        { 
     574            return InternalList(pathOrUrl, revision, recurse, ctx, pool);        
     575        } 
     576         
     577        protected static AprHash InternalList(IAprUnmanaged pathOrUrl, 
     578                                            SvnOptRevision revision, bool recurse,  
     579                                            SvnClientContext ctx, AprPool pool)      
     580        { 
    397581            IntPtr h; 
    398582            Debug.Write(String.Format("svn_client_list({0},{1},{2},{3},{4})...",pathOrUrl,revision,recurse,ctx,pool)); 
    399             SvnError err = Svn.svn_client_ls(out h, pathOrUrl, revision, (recurse ? 1 : 0), 
     583            SvnError err = Svn.svn_client_ls(out h, pathOrUrl.ToIntPtr(), revision, (recurse ? 1 : 0), 
    400584                                             ctx, pool); 
    401585            if( !err.IsNoError ) 
     
    405589        } 
    406590         
    407         public static void Cat(SvnStream stream, string pathOrUrl, 
     591        public static void Cat(SvnStream stream, SvnPath pathOrUrl, 
    408592                               SvnOptRevision revision,  
    409593                               SvnClientContext ctx, AprPool pool)       
    410594        {        
     595            InternalCat(stream, pathOrUrl, revision, ctx, pool);         
     596        } 
     597         
     598        public static void Cat(SvnStream stream, SvnUrl pathOrUrl, 
     599                               SvnOptRevision revision,  
     600                               SvnClientContext ctx, AprPool pool)       
     601        {        
     602            InternalCat(stream, pathOrUrl, revision, ctx, pool);         
     603        } 
     604         
     605        protected static void InternalCat(SvnStream stream, IAprUnmanaged pathOrUrl, 
     606                                        SvnOptRevision revision,  
     607                                        SvnClientContext ctx, AprPool pool)      
     608        {        
    411609            Debug.WriteLine(String.Format("svn_client_cat({0},{1},{2},{3},{4})",stream,pathOrUrl,revision,ctx,pool)); 
    412             SvnError err = Svn.svn_client_cat(stream, pathOrUrl, revision, ctx, pool); 
    413             if( !err.IsNoError ) 
    414                 throw new SvnException(err); 
    415         } 
    416          
    417         public static AprString UrlFromPath(string pathOrUrl, AprPool pool) 
     610            SvnError err = Svn.svn_client_cat(stream, pathOrUrl.ToIntPtr(), revision, ctx, pool); 
     611            if( !err.IsNoError ) 
     612                throw new SvnException(err); 
     613        } 
     614         
     615        public static SvnUrl UrlFromPath(SvnPath pathOrUrl, AprPool pool) 
     616        { 
     617            return InternalUrlFromPath(pathOrUrl, pool); 
     618        } 
     619         
     620        public static SvnUrl UrlFromPath(SvnUrl pathOrUrl, AprPool pool) 
     621        { 
     622            return InternalUrlFromPath(pathOrUrl, pool); 
     623        } 
     624         
     625        protected static SvnUrl InternalUrlFromPath(IAprUnmanaged pathOrUrl, AprPool pool) 
    418626        { 
    419627            IntPtr s; 
    420628            Debug.Write(String.Format("svn_client_url_from_path({0},{1})...",pathOrUrl,pool)); 
    421             SvnError err = Svn.svn_client_url_from_path(out s, pathOrUrl, pool); 
     629            SvnError err = Svn.svn_client_url_from_path(out s, pathOrUrl.ToIntPtr(), pool); 
    422630            if( !err.IsNoError ) 
    423631                throw new SvnException(err); 
     
    426634        } 
    427635         
    428         public static AprString UuidFromUrl(string url, SvnClientContext ctx, AprPool pool) 
     636        public static AprString UuidFromUrl(SvnUrl url, SvnClientContext ctx, AprPool pool) 
    429637        { 
    430638            IntPtr s; 
  • trunk/SubversionSharp/dev/src/SvnClientCommitItem.cs

    r46 r50  
    8989         
    9090        #region Properties wrappers 
    91         public AprString Path 
     91        public SvnPath Path 
    9292        { 
    9393            get 
    9494            { 
    9595                CheckPtr(); 
    96                 return(new AprString(mCommitItem->path)); 
     96                return(new SvnPath(mCommitItem->path)); 
    9797            } 
    9898        } 
  • trunk/SubversionSharp/dev/src/SvnConfig.cs

    r46 r50  
    9393        } 
    9494 
    95         public static void Ensure(string configDir, AprPool pool) 
    96         { 
    97             Debug.WriteLine(String.Format("svn_config_ensure({0},{1})",configDir,pool)); 
    98             SvnError err = Svn.svn_config_ensure(configDir, pool); 
    99             if(!err.IsNoError) 
    100                 throw new SvnException(err); 
    101         } 
    102  
    103         public static void Ensure(AprString configDir, AprPool pool) 
     95        public static void Ensure(SvnPath configDir, AprPool pool) 
    10496        { 
    10597            Debug.WriteLine(String.Format("svn_config_ensure({0},{1})",configDir,pool)); 
     
    119111        } 
    120112 
    121         public static AprHash GetConfig(string configDir, AprPool pool) 
    122         { 
    123             IntPtr h; 
    124             Debug.WriteLine(String.Format("svn_config_get_config({0},{1})",configDir,pool)); 
    125             SvnError err = Svn.svn_config_get_config(out h, configDir, pool); 
    126             if(!err.IsNoError) 
    127                 throw new SvnException(err); 
    128             return h; 
    129         } 
    130  
    131         public static AprHash GetConfig(AprString configDir, AprPool pool) 
     113        public static AprHash GetConfig(SvnPath configDir, AprPool pool) 
    132114        { 
    133115            IntPtr h; 
  • trunk/SubversionSharp/dev/src/SvnDelegate.cs

    r40 r50  
    7575            SvnWcNotify.Func func = mFunc as SvnWcNotify.Func; 
    7676            try { 
    77                 Debug.WriteLine(String.Format("[Callback:{0}]SvnWcNotifyFunc({1:X},{2},{3},{4},{5},{6},{7},{8})",func.Method.Name,baton.ToInt32(),new AprString(path),(SvnWcNotify.Action) action,(Svn.NodeKind) kind,new AprString(mime_type),(SvnWcNotify.State) content_state,(SvnWcNotify.State) prop_state,revision)); 
    78                 func(baton, new AprString(path), 
     77                Debug.WriteLine(String.Format("[Callback:{0}]SvnWcNotifyFunc({1:X},{2},{3},{4},{5},{6},{7},{8})",func.Method.Name,baton.ToInt32(),new SvnPath(path),(SvnWcNotify.Action) action,(Svn.NodeKind) kind,new AprString(mime_type),(SvnWcNotify.State) content_state,(SvnWcNotify.State) prop_state,revision)); 
     78                func(baton, new SvnPath(path), 
    7979                     (SvnWcNotify.Action) action, (Svn.NodeKind) kind,  
    8080                     new AprString(mime_type), (SvnWcNotify.State) content_state, 
     
    104104            try { 
    105105                AprString logMessage; 
    106                 AprString tmpFile; 
     106                SvnPath tmpFile; 
    107107                Debug.Write(String.Format("[Callback:{0}]SvnClientGetCommitLog({1},{2:X},{3})...",func.Method.Name,new AprArray(commit_items),baton.ToInt32(),new AprPool(pool))); 
    108108                err = func(out logMessage, out tmpFile, 
     
    160160            SvnWcStatus.Func func = mFunc as SvnWcStatus.Func; 
    161161            try { 
    162                 Debug.WriteLine(String.Format("[Callback:{0}]SvnWcStatusFunc({1:X},{2},{3})",func.Method.Name,baton.ToInt32(),new AprString(path),new SvnWcStatus(status))); 
    163                 func(baton, new AprString(path), (SvnWcStatus) status); 
     162                Debug.WriteLine(String.Format("[Callback:{0}]SvnWcStatusFunc({1:X},{2},{3})",func.Method.Name,baton.ToInt32(),new SvnPath(path),new SvnWcStatus(status))); 
     163                func(baton, new SvnPath(path), (SvnWcStatus) status); 
    164164            } 
    165165            catch( Exception ) { 
  • trunk/SubversionSharp/dev/src/SvnWcEntry.cs

    r46 r50  
    112112         
    113113        #region Properties wrappers 
    114         public AprString Name 
    115         { 
    116             get 
    117             { 
    118                 CheckPtr(); 
    119                 return(new AprString(mEntry->name)); 
     114        public SvnPath Name 
     115        { 
     116            get 
     117            { 
     118                CheckPtr(); 
     119                return(new SvnPath(mEntry->name)); 
    120120            } 
    121121        } 
     
    229229        } 
    230230         
    231         public AprString ConflictOld 
    232         { 
    233             get 
    234             { 
    235                 CheckPtr(); 
    236                 return(new AprString(mEntry->conflict_old)); 
    237             } 
    238         } 
    239  
    240         public AprString ConflictNew 
    241         { 
    242             get 
    243             { 
    244                 CheckPtr(); 
    245                 return(new AprString(mEntry->conflict_new)); 
    246             } 
    247         } 
    248          
    249         public AprString ConflictWork 
    250         { 
    251             get 
    252             { 
    253                 CheckPtr(); 
    254                 return(new AprString(mEntry->conflict_wrk)); 
    255             } 
    256         } 
    257  
    258         public AprString RejectFile 
    259         { 
    260             get 
    261             { 
    262                 CheckPtr(); 
    263                 return(new AprString(mEntry->prejfile)); 
     231        public SvnPath ConflictOld 
     232        { 
     233            get 
     234            { 
     235                CheckPtr(); 
     236                return(new SvnPath(mEntry->conflict_old)); 
     237            } 
     238        } 
     239 
     240        public SvnPath ConflictNew 
     241        { 
     242            get 
     243            { 
     244                CheckPtr(); 
     245                return(new SvnPath(mEntry->conflict_new)); 
     246            } 
     247        } 
     248         
     249        public SvnPath ConflictWork 
     250        { 
     251            get 
     252            { 
     253                CheckPtr(); 
     254                return(new SvnPath(mEntry->conflict_wrk)); 
     255            } 
     256        } 
     257 
     258        public SvnPath RejectFile 
     259        { 
     260            get 
     261            { 
     262                CheckPtr(); 
     263                return(new SvnPath(mEntry->prejfile)); 
    264264            } 
    265265        } 
  • trunk/SubversionSharp/dev/src/SvnWcNotify.cs

    r31 r50  
    5454         } 
    5555 
    56          public delegate void Func(IntPtr baton, AprString Path,   
     56         public delegate void Func(IntPtr baton, SvnPath Path,   
    5757                                   Action action, Svn.NodeKind kind, 
    5858                                   AprString mimeType, State contentState, 
  • trunk/SubversionSharp/dev/src/SvnWcStatus.cs

    r46 r50  
    1818    public unsafe class SvnWcStatus : IAprUnmanaged 
    1919    { 
    20         public delegate void Func(IntPtr baton, AprString path, SvnWcStatus status); 
     20        public delegate void Func(IntPtr baton, SvnPath path, SvnWcStatus status); 
    2121         
    2222        public enum Kind { 
  • trunk/SubversionSharp/test/src/Main.cs

    r44 r50  
    4444    } 
    4545     
    46     public static void NotifyCallback(IntPtr baton, AprString Path,   
     46    public static void NotifyCallback(IntPtr baton, SvnPath Path,   
    4747                                      SvnWcNotify.Action action, Svn.NodeKind kind, 
    4848                                      AprString mimeType, SvnWcNotify.State contentState, 
     
    5151    } 
    5252     
    53     public static SvnError GetCommitLogCallback(out AprString logMessage, out AprString tmpFile, 
     53    public static SvnError GetCommitLogCallback(out AprString logMessage, out SvnPath tmpFile, 
    5454                                                AprArray commitItems, IntPtr baton, 
    5555                                                AprPool pool)