Changeset 38

Show
Ignore:
Timestamp:
06/30/04 16:04:42
Author:
DenisG
Message:

[SubversionSharp] Add SvnClient?.Blame

Files:

Legend:

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

    r36 r38  
    8787                                                    int action, int kind,  
    8888                                                    IntPtr mime_type, int content_state,  
    89                                                     int prop_state, uint revision); 
     89                                                    int prop_state, int revision); 
    9090        #endregion 
    9191                                                     
     
    183183         
    184184        internal delegate IntPtr svn_log_message_receiver_t(IntPtr baton, IntPtr changed_paths,  
    185                                                             uint revision, IntPtr author,  
     185                                                            int revision, IntPtr author,  
    186186                                                            IntPtr date, IntPtr message,  
    187187                                                            IntPtr pool); 
     188                                                             
     189        internal delegate IntPtr svn_client_blame_receiver_t(IntPtr baton, long line_no,  
     190                                                             int revision, IntPtr author,  
     191                                                             IntPtr date, IntPtr line,  
     192                                                             IntPtr pool); 
    188193                                                              
    189194        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    190         internal IntPtr svn_client_checkout(out uint result_rev, string URL,  
     195        internal IntPtr svn_client_checkout(out int result_rev, string URL,  
    191196                                            string path, IntPtr revision, int recurse,  
    192197                                            IntPtr ctx, IntPtr pool); 
    193198                                             
    194199        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    195         internal IntPtr svn_client_update (out uint result_rev, string path,  
     200        internal IntPtr svn_client_update (out int result_rev, string path,  
    196201                                           IntPtr revision, int recurse, 
    197202                                           IntPtr ctx, IntPtr pool); 
    198203         
    199204        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    200         internal IntPtr svn_client_switch(out uint result_rev, string path, string url,  
     205        internal IntPtr svn_client_switch(out int result_rev, string path, string url,  
    201206                                          IntPtr revision, int recurse,  
    202207                                          IntPtr ctx, IntPtr pool); 
     
    225230 
    226231        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    227         internal IntPtr svn_client_status(out uint result_rev,  
     232        internal IntPtr svn_client_status(out int result_rev,  
    228233                                          string path, IntPtr revision, 
    229234                                          svn_wc_status_func_t status_func, IntPtr status_baton,  
     
    239244        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    240245        internal IntPtr svn_client_blame(string path_or_url, IntPtr start, IntPtr end,  
    241                                          IntPtr receiver, IntPtr receiver_baton,  
     246                                         svn_client_blame_receiver_t receiver, IntPtr receiver_baton,  
    242247                                         IntPtr ctx, IntPtr pool); 
    243248 
     
    291296        internal IntPtr svn_client_revprop_set(string propname, IntPtr propval,  
    292297                                               string Url, IntPtr revision,  
    293                                                out uint set_rev, int force,  
     298                                               out int set_rev, int force,  
    294299                                               IntPtr ctx, IntPtr pool); 
    295300 
     
    301306        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    302307        internal IntPtr svn_client_revprop_get(string propname, out IntPtr propval,  
    303                                                string URL, IntPtr revision, out uint set_rev,  
     308                                               string URL, IntPtr revision, out int set_rev,  
    304309                                               IntPtr ctx, IntPtr pool); 
    305310 
     
    311316        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    312317        internal IntPtr svn_client_revprop_list(out IntPtr props, 
    313                                                 string URL, IntPtr revision, out uint set_rev,  
     318                                                string URL, IntPtr revision, out int set_rev,  
    314319                                                IntPtr ctx, IntPtr pool); 
    315320 
    316321        [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 
    317         internal IntPtr svn_client_export(out uint result_rev,  
     322        internal IntPtr svn_client_export(out int result_rev,  
    318323                                          string from, string to, IntPtr revision, int force,  
    319324                                          IntPtr ctx, IntPtr pool); 
  • trunk/SubversionSharp/dev/src/SvnClient.cs

    r36 r38  
    2424                                                    int revision, AprString author, 
    2525                                                    AprString date, AprString message, 
    26                                                     AprPool pool);                                              
     26                                                    AprPool pool); 
     27 
     28        public delegate SvnError BlameReceiver(IntPtr baton, long line_no, int revision,  
     29                                               AprString author, AprString date, AprString line,  
     30                                               AprPool pool); 
    2731                                                                                                                                                
    2832        public static int Checkout(string url, string path,  
     
    3034                                   bool recurse, SvnClientContext ctx, AprPool pool) 
    3135        { 
    32             uint rev; 
     36            int rev; 
    3337            Debug.Write(String.Format("svn_client_checkout({0},{1},{2},{3},{4},{5})...",url,path,revision,recurse,ctx,pool)); 
    3438            SvnError err = Svn.svn_client_checkout(out rev, url, path,  
     
    3842                throw new SvnException(err); 
    3943            Debug.WriteLine(String.Format("Done({0})",rev)); 
    40             return(unchecked((int)rev)); 
     44            return(rev); 
    4145        } 
    4246         
     
    4650                                 bool recurse, SvnClientContext ctx, AprPool pool) 
    4751        { 
    48             uint rev; 
     52            int rev; 
    4953            Debug.Write(String.Format("svn_client_update({0},{1},{2},{3},{4})...",path,revision,recurse,ctx,pool)); 
    5054            SvnError err = Svn.svn_client_update(out rev, path,  
     
    5458                throw new SvnException(err); 
    5559            Debug.WriteLine(String.Format("Done({0})",rev)); 
    56             return(unchecked((int)rev)); 
     60            return(rev); 
    5761        } 
    5862         
     
    6165                                 bool recurse, SvnClientContext ctx, AprPool pool) 
    6266        { 
    63             uint rev; 
     67            int rev; 
    6468            Debug.Write(String.Format("svn_client_switch({0},{1},{2},{3},{4},{5})...",path,url,revision,recurse,ctx,pool)); 
    6569            SvnError err = Svn.svn_client_switch(out rev, path, url,  
     
    6973                throw new SvnException(err); 
    7074            Debug.WriteLine(String.Format("Done({0})",rev)); 
    71             return(unchecked((int)rev)); 
     75            return(rev); 
    7276        } 
    7377         
     
    139143                                 SvnClientContext ctx, AprPool pool) 
    140144        { 
    141             uint rev; 
     145            int rev; 
    142146            SvnDelegate statusDelegate = new SvnDelegate(statusFunc); 
    143147            Debug.Write(String.Format("svn_client_status({0},{1},{2},{3},{4:X},{5},{6},{7},{8},{9})...",path,revision,statusFunc.Method.Name,statusBaton.ToInt32(),(descend) ? 1 : 0,(getAll) ? 1 : 0,(update) ? 1 : 0,(noIgnore) ? 1 : 0,ctx,pool)); 
     
    152156            Debug.WriteLine(String.Format("Done({0})",rev)); 
    153157            if( update ) 
    154                 return(unchecked((int)rev)); 
     158                return(rev); 
    155159            else 
    156160                return(-1); 
     
    174178                throw new SvnException(err); 
    175179        } 
     180         
     181        public static void Blame(string path_or_url, 
     182                                 SvnOptRevision start, SvnOptRevision end,  
     183                                 BlameReceiver receiver, IntPtr baton, 
     184                                 SvnClientContext ctx, AprPool pool) 
     185        { 
     186            SvnDelegate receiverDelegate = new SvnDelegate(receiver); 
     187            Debug.WriteLine(String.Format("svn_client_blame({0},{1},{2},{3},{4},{5},{6})",path_or_url,start,end,receiver.Method.Name,baton,ctx,pool)); 
     188            SvnError err = Svn.svn_client_blame(path_or_url, start, end, 
     189                                                (Svn.svn_client_blame_receiver_t)receiverDelegate.Wrapper, 
     190                                                baton, 
     191                                                ctx, pool); 
     192            if( !err.IsNoError ) 
     193                throw new SvnException(err); 
     194        } 
    176195    } 
    177196} 
  • trunk/SubversionSharp/dev/src/SvnDelegate.cs

    r36 r38  
    7171                                            int action, int kind,  
    7272                                            IntPtr mime_type, int content_state,  
    73                                             int prop_state, uint revision) 
     73                                            int prop_state, int revision) 
    7474        { 
    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,new AprString(path),(SvnWcNotify.Action) action,(Svn.NodeKind) kind,new AprString(mime_type),(SvnWcNotify.State) content_state,(SvnWcNotify.State) prop_state,unchecked((int) revision))); 
     77                Debug.WriteLine(String.Format("[Callback:{0}]SvnWcNotifyFunc({1:X},{2},{3},{4},{5},{6},{7},{8})",func.Method.Name,baton,new AprString(path),(SvnWcNotify.Action) action,(Svn.NodeKind) kind,new AprString(mime_type),(SvnWcNotify.State) content_state,(SvnWcNotify.State) prop_state,revision)); 
    7878                func(baton, new AprString(path), 
    7979                     (SvnWcNotify.Action) action, (Svn.NodeKind) kind,  
    8080                     new AprString(mime_type), (SvnWcNotify.State) content_state, 
    81                      (SvnWcNotify.State) prop_state, unchecked((int) revision)); 
     81                     (SvnWcNotify.State) prop_state, revision); 
    8282            } 
    8383            catch( Exception ) { 
     
    178178        //[CLSCompliant(false))] 
    179179        private IntPtr SvnLogMessageReceiverWrapper(IntPtr baton, IntPtr changed_paths,  
    180                                                     uint revision, IntPtr author, 
     180                                                    int revision, IntPtr author, 
    181181                                                    IntPtr date, IntPtr message, 
    182182                                                    IntPtr pool) 
     
    185185            SvnClient.LogMessageReceiver func = mFunc as SvnClient.LogMessageReceiver; 
    186186            try { 
    187                 Debug.Write(String.Format("[Callback:{0}]SvnLogMessageReceiver({1:X},{2},{3},{4},{5},{6},{7})...",func.Method.Name,baton,new AprHash(changed_paths),unchecked((int)revision),new AprString(author),new AprString(date),new AprString(message),new AprPool(pool))); 
     187                Debug.Write(String.Format("[Callback:{0}]SvnLogMessageReceiver({1:X},{2},{3},{4},{5},{6},{7})...",func.Method.Name,baton,new AprHash(changed_paths),revision,new AprString(author),new AprString(date),new AprString(message),new AprPool(pool))); 
    188188                err = func(baton, new AprHash(changed_paths), 
    189                            unchecked((int)revision), new AprString(author), 
     189                           revision, new AprString(author), 
    190190                           new AprString(date), new AprString(message), 
    191191                           new AprPool(pool)); 
     
    201201        }                                               
    202202         
    203                  
     203 
     204        // svn_client_blame_receiver_t Wrapper       
     205        public SvnDelegate(SvnClient.BlameReceiver func) 
     206        { 
     207            mFunc = func; 
     208            mWrapperFunc = new Svn.svn_client_blame_receiver_t(SvnClientBlameReceiverWrapper); 
     209        } 
     210         
     211        private IntPtr SvnClientBlameReceiverWrapper(IntPtr baton, long lineNo, int revision, 
     212                                                     IntPtr author, IntPtr date, IntPtr line, 
     213                                                     IntPtr pool) 
     214        { 
     215            SvnError err = SvnError.NoError; 
     216            SvnClient.BlameReceiver func = mFunc as SvnClient.BlameReceiver; 
     217            try { 
     218                Debug.Write(String.Format("[Callback:{0}]SvnClientBlameReceiver({1:X},{2},{3},{4},{5},{6},{7})...",func.Method.Name,baton,lineNo,revision,new AprString(author),new AprString(date),new AprString(line),new AprPool(pool))); 
     219                err = func(baton, lineNo, revision, 
     220                           new AprString(author), new AprString(date), new AprString(line), 
     221                           new AprPool(pool)); 
     222                Debug.WriteLine((err.IsNoError) ? "Return(NoError)" : String.Format("Return({0})",err.Message)); 
     223            } 
     224            catch( SvnException e ) { 
     225                err = SvnError.Create(e.AprErr, SvnError.NoError, e.Message); 
     226            } 
     227            catch( Exception e ) { 
     228                err = SvnError.Create(215000, SvnError.NoError, e.Message); 
     229            } 
     230            return(err);         
     231        }                                               
     232                                                 
    204233                                 
    205234        // svn_auth_simple_prompt_func_t Wrapper 
  • trunk/SubversionSharp/dev/src/SvnWcEntry.cs

    r33 r38  
    3131        { 
    3232            public IntPtr name; 
    33             public uint revision; 
     33            public int revision; 
    3434            public IntPtr url; 
    3535            public IntPtr repos; 
     
    4242            public int incomplete; 
    4343            public IntPtr copyfrom_url; 
    44             public uint copyfrom_rev; 
     44            public int copyfrom_rev; 
    4545            public IntPtr conflict_old; 
    4646            public IntPtr conflict_new; 
     
    5050            public long prop_time; 
    5151            public IntPtr checksum; 
    52             public uint cmt_rev; 
     52            public int cmt_rev; 
    5353            public long cmt_date; 
    5454            public IntPtr cmt_author; 
     
    116116            { 
    117117                CheckPtr(); 
    118                 return(unchecked((int)mEntry->revision)); 
     118                return(mEntry->revision); 
    119119            } 
    120120        } 
     
    215215            { 
    216216                CheckPtr(); 
    217                 return(unchecked((int)mEntry->copyfrom_rev)); 
     217                return(mEntry->copyfrom_rev); 
    218218            } 
    219219        } 
     
    287287            { 
    288288                CheckPtr(); 
    289                 return(unchecked((int)mEntry->cmt_rev)); 
     289                return(mEntry->cmt_rev); 
    290290            } 
    291291        }