Changeset 36
- Timestamp:
- 06/30/04 00:30:56
- Files:
-
- trunk/SubversionSharp/dev/src/Svn.cs (modified) (3 diffs)
- trunk/SubversionSharp/dev/src/SvnClient.cs (modified) (2 diffs)
- trunk/SubversionSharp/dev/src/SvnDelegate.cs (modified) (3 diffs)
- trunk/SubversionSharp/dev/src/SvnWcStatus.cs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/SubversionSharp/dev/src/Svn.cs
r33 r36 180 180 IntPtr pool); 181 181 182 internal delegate void svn_wc_status_func_t(IntPtr baton, IntPtr path, IntPtr status); 183 184 internal delegate IntPtr svn_log_message_receiver_t(IntPtr baton, IntPtr changed_paths, 185 uint revision, IntPtr author, 186 IntPtr date, IntPtr message, 187 IntPtr pool); 188 182 189 [DllImport("svn_client-1", CharSet=CharSet.Ansi)] static extern 183 190 internal IntPtr svn_client_checkout(out uint result_rev, string URL, … … 220 227 internal IntPtr svn_client_status(out uint result_rev, 221 228 string path, IntPtr revision, 222 IntPtrstatus_func, IntPtr status_baton,229 svn_wc_status_func_t status_func, IntPtr status_baton, 223 230 int descend, int get_all, int update, int no_ignore, 224 231 IntPtr ctx, IntPtr pool); … … 227 234 internal IntPtr svn_client_log(IntPtr targets, IntPtr start, IntPtr end, 228 235 int discover_changed_paths, int strict_node_history, 229 IntPtrreceiver, IntPtr receiver_baton,236 svn_log_message_receiver_t receiver, IntPtr receiver_baton, 230 237 IntPtr ctx, IntPtr pool); 231 238 trunk/SubversionSharp/dev/src/SvnClient.cs
r35 r36 20 20 AprArray commitItems, IntPtr baton, 21 21 AprPool pool); 22 22 23 public delegate SvnError LogMessageReceiver(IntPtr baton, AprHash changed_paths, 24 int revision, AprString author, 25 AprString date, AprString message, 26 AprPool pool); 27 23 28 public static int Checkout(string url, string path, 24 29 SvnOptRevision revision, … … 127 132 return(commitInfo); 128 133 } 134 135 public static int Status(string path, 136 SvnOptRevision revision, 137 SvnWcStatus.Func statusFunc, IntPtr statusBaton, 138 bool descend, bool getAll, bool update, bool noIgnore, 139 SvnClientContext ctx, AprPool pool) 140 { 141 uint rev; 142 SvnDelegate statusDelegate = new SvnDelegate(statusFunc); 143 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)); 144 SvnError err = Svn.svn_client_status(out rev, path, revision, 145 (Svn.svn_wc_status_func_t) statusDelegate.Wrapper, 146 statusBaton, 147 (descend) ? 1 : 0, (getAll) ? 1 : 0, 148 (update) ? 1 : 0, (noIgnore) ? 1 : 0, 149 ctx, pool); 150 if( !err.IsNoError ) 151 throw new SvnException(err); 152 Debug.WriteLine(String.Format("Done({0})",rev)); 153 if( update ) 154 return(unchecked((int)rev)); 155 else 156 return(-1); 157 } 158 159 public static void Log(AprArray targets, 160 SvnOptRevision start, SvnOptRevision end, 161 bool discoverChangedPaths, bool strictNodeHistory, 162 LogMessageReceiver receiver, IntPtr baton, 163 SvnClientContext ctx, AprPool pool) 164 { 165 SvnDelegate receiverDelegate = new SvnDelegate(receiver); 166 Debug.WriteLine(String.Format("svn_client_log({0},{1},{2},{3},{4},{5},{6},{7},{8})",targets,start,end,(discoverChangedPaths ? 1 :0),(strictNodeHistory ? 1 :0),receiver.Method.Name,baton,ctx,pool)); 167 SvnError err = Svn.svn_client_log(targets, start, end, 168 (discoverChangedPaths ? 1 :0), 169 (strictNodeHistory ? 1 :0), 170 (Svn.svn_log_message_receiver_t)receiverDelegate.Wrapper, 171 baton, 172 ctx, pool); 173 if( !err.IsNoError ) 174 throw new SvnException(err); 175 } 129 176 } 130 177 } trunk/SubversionSharp/dev/src/SvnDelegate.cs
r33 r36 75 75 SvnWcNotify.Func func = mFunc as SvnWcNotify.Func; 76 76 try { 77 Debug.WriteLine(String.Format("[Callback:{0}]Svn NotifyFunc({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,unchecked((int) revision))); 78 78 func(baton, new AprString(path), 79 79 (SvnWcNotify.Action) action, (Svn.NodeKind) kind, … … 81 81 (SvnWcNotify.State) prop_state, unchecked((int) revision)); 82 82 } 83 catch( Exception e) {83 catch( Exception ) { 84 84 return; 85 85 } … … 148 148 } 149 149 150 150 151 // svn_wc_status_func_t Wrapper 152 public SvnDelegate(SvnWcStatus.Func func) 153 { 154 mFunc = func; 155 mWrapperFunc = new Svn.svn_wc_status_func_t(SvnWcStatusFuncWrapper); 156 } 157 158 private void SvnWcStatusFuncWrapper(IntPtr baton, IntPtr path, IntPtr status) 159 { 160 SvnWcStatus.Func func = mFunc as SvnWcStatus.Func; 161 try { 162 Debug.WriteLine(String.Format("[Callback:{0}]SvnWcStatusFunc({1:X},{2},{3})",func.Method.Name,baton,new AprString(path),new SvnWcStatus(status))); 163 func(baton, new AprString(path), (SvnWcStatus) status); 164 } 165 catch( Exception ) { 166 return; 167 } 168 } 169 170 171 // svn_log_message_receiver_t Wrapper 172 public SvnDelegate(SvnClient.LogMessageReceiver func) 173 { 174 mFunc = func; 175 mWrapperFunc = new Svn.svn_log_message_receiver_t(SvnLogMessageReceiverWrapper); 176 } 177 178 //[CLSCompliant(false))] 179 private IntPtr SvnLogMessageReceiverWrapper(IntPtr baton, IntPtr changed_paths, 180 uint revision, IntPtr author, 181 IntPtr date, IntPtr message, 182 IntPtr pool) 183 { 184 SvnError err = SvnError.NoError; 185 SvnClient.LogMessageReceiver func = mFunc as SvnClient.LogMessageReceiver; 186 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))); 188 err = func(baton, new AprHash(changed_paths), 189 unchecked((int)revision), new AprString(author), 190 new AprString(date), new AprString(message), 191 new AprPool(pool)); 192 Debug.WriteLine((err.IsNoError) ? "Return(NoError)" : String.Format("Return({0})",err.Message)); 193 } 194 catch( SvnException e ) { 195 err = SvnError.Create(e.AprErr, SvnError.NoError, e.Message); 196 } 197 catch( Exception e ) { 198 err = SvnError.Create(215000, SvnError.NoError, e.Message); 199 } 200 return(err); 201 } 202 203 204 151 205 // svn_auth_simple_prompt_func_t Wrapper 152 206 public SvnDelegate(SvnAuthProviderObject.SimplePrompt func) trunk/SubversionSharp/dev/src/SvnWcStatus.cs
r33 r36 18 18 public unsafe class SvnWcStatus 19 19 { 20 public delegate void Func(IntPtr baton, AprString path, SvnWcStatus status); 21 20 22 public enum Kind { 21 23 None = 1,