001 package org.apache.maven.scm.provider;
002
003 /*
004 * Licensed to the Apache Software Foundation (ASF) under one
005 * or more contributor license agreements. See the NOTICE file
006 * distributed with this work for additional information
007 * regarding copyright ownership. The ASF licenses this file
008 * to you under the Apache License, Version 2.0 (the
009 * "License"); you may not use this file except in compliance
010 * with the License. You may obtain a copy of the License at
011 *
012 * http://www.apache.org/licenses/LICENSE-2.0
013 *
014 * Unless required by applicable law or agreed to in writing,
015 * software distributed under the License is distributed on an
016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017 * KIND, either express or implied. See the License for the
018 * specific language governing permissions and limitations
019 * under the License.
020 */
021
022 import org.apache.maven.scm.CommandParameters;
023 import org.apache.maven.scm.ScmBranch;
024 import org.apache.maven.scm.ScmBranchParameters;
025 import org.apache.maven.scm.ScmException;
026 import org.apache.maven.scm.ScmFile;
027 import org.apache.maven.scm.ScmFileSet;
028 import org.apache.maven.scm.ScmTagParameters;
029 import org.apache.maven.scm.ScmVersion;
030 import org.apache.maven.scm.command.add.AddScmResult;
031 import org.apache.maven.scm.command.blame.BlameScmRequest;
032 import org.apache.maven.scm.command.blame.BlameScmResult;
033 import org.apache.maven.scm.command.branch.BranchScmResult;
034 import org.apache.maven.scm.command.changelog.ChangeLogScmRequest;
035 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
036 import org.apache.maven.scm.command.checkin.CheckInScmResult;
037 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
038 import org.apache.maven.scm.command.diff.DiffScmResult;
039 import org.apache.maven.scm.command.edit.EditScmResult;
040 import org.apache.maven.scm.command.export.ExportScmResult;
041 import org.apache.maven.scm.command.info.InfoScmResult;
042 import org.apache.maven.scm.command.list.ListScmResult;
043 import org.apache.maven.scm.command.mkdir.MkdirScmResult;
044 import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
045 import org.apache.maven.scm.command.remove.RemoveScmResult;
046 import org.apache.maven.scm.command.status.StatusScmResult;
047 import org.apache.maven.scm.command.tag.TagScmResult;
048 import org.apache.maven.scm.command.unedit.UnEditScmResult;
049 import org.apache.maven.scm.command.update.UpdateScmResult;
050 import org.apache.maven.scm.log.ScmLogger;
051 import org.apache.maven.scm.repository.ScmRepository;
052 import org.apache.maven.scm.repository.ScmRepositoryException;
053 import org.apache.maven.scm.repository.UnknownRepositoryStructure;
054
055 import java.io.File;
056 import java.util.ArrayList;
057 import java.util.Collections;
058 import java.util.Date;
059 import java.util.List;
060
061 /**
062 * Stub implementation of ScmProvider for unit testing purposes.
063 * It allows setting the expected results that the different methods will return.
064 * More information about Stubs on <a href="http://martinfowler.com/bliki/TestDouble.html">Martin Fowler's TestDouble</a>
065 *
066 * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
067 *
068 */
069 public class ScmProviderStub
070 implements ScmProvider
071 {
072
073 private String scmType, scmSpecificFilename;
074
075 private List<ScmLogger> loggers = new ArrayList<ScmLogger>();
076
077 private boolean requiresEditmode;
078
079 private ScmProviderRepository scmProviderRepository = new ScmProviderRepositoryStub();
080
081 private List<String> errors = new ArrayList<String>();
082
083 private AddScmResult addScmResult;
084
085 private BranchScmResult branchScmResult;
086
087 private CheckInScmResult checkInScmResult;
088
089 private CheckOutScmResult checkOutScmResult;
090
091 private ChangeLogScmResult changeLogScmResult;
092
093 private DiffScmResult diffScmResult;
094
095 private RemoveScmResult removeScmResult;
096
097 private StatusScmResult statusScmResult;
098
099 private TagScmResult tagScmResult;
100
101 private UpdateScmResult updateScmResult;
102
103 private EditScmResult editScmResult;
104
105 private UnEditScmResult unEditScmResult;
106
107 private ListScmResult listScmResult;
108
109 private ExportScmResult exportScmResult;
110
111 private BlameScmResult blameScmResult;
112
113 private MkdirScmResult mkdirScmResult;
114
115 /**
116 * Create a new ScmProviderStub with bogus (not null) attributes
117 */
118 public ScmProviderStub()
119 {
120 setScmSpecificFilename( "" );
121 setAddScmResult( new AddScmResult( "", Collections.<ScmFile>emptyList() ) );
122 setBranchScmResult( new BranchScmResult( "", Collections.<ScmFile>emptyList() ) );
123 setChangeLogScmResult( new ChangeLogScmResult( "", "", "", true ) );
124 setCheckInScmResult( new CheckInScmResult( "", "", "", true ) );
125 setCheckOutScmResult( new CheckOutScmResult( "", "", "", true ) );
126 setDiffScmResult( new DiffScmResult( "", "", "", true ) );
127 setEditScmResult( new EditScmResult( "", "", "", true ) );
128 setExportScmResult( new ExportScmResult( "", "", "", true ) );
129 setRemoveScmResult( new RemoveScmResult( "", "", "", true ) );
130 setStatusScmResult( new StatusScmResult( "", "", "", true ) );
131 setTagScmResult( new TagScmResult( "", "", "", true ) );
132 setUnEditScmResult( new UnEditScmResult( "", "", "", true ) );
133 setUpdateScmResult( new UpdateScmResult( "", "", "", true ) );
134 setBlameScmResult( new BlameScmResult( "", "", "", true ) );
135 setMkdirScmResult( new MkdirScmResult( "", "", "", true ) );
136 }
137
138 /**
139 * {@inheritDoc}
140 */
141 public String sanitizeTagName( String tag )
142 {
143 return tag;
144 }
145
146 /**
147 * {@inheritDoc}
148 */
149 public boolean validateTagName( String tag )
150 {
151 return true;
152 }
153
154 /**
155 * {@inheritDoc}
156 */
157 public String getScmType()
158 {
159 return scmType;
160 }
161
162 public void setScmSpecificFilename( String scmSpecificFilename )
163 {
164 this.scmSpecificFilename = scmSpecificFilename;
165 }
166
167 /**
168 * {@inheritDoc}
169 */
170 public void addListener( ScmLogger logger )
171 {
172 loggers.add( logger );
173 }
174
175 public boolean requiresEditMode()
176 {
177 return requiresEditmode;
178 }
179
180 public void setAddScmResult( AddScmResult addScmResult )
181 {
182 this.addScmResult = addScmResult;
183 }
184
185 public AddScmResult getAddScmResult()
186 {
187 return addScmResult;
188 }
189
190 public void setBranchScmResult( BranchScmResult branchScmResult )
191 {
192 this.branchScmResult = branchScmResult;
193 }
194
195 public BranchScmResult getBranchScmResult()
196 {
197 return branchScmResult;
198 }
199
200 public void setCheckInScmResult( CheckInScmResult checkInScmResult )
201 {
202 this.checkInScmResult = checkInScmResult;
203 }
204
205 public CheckInScmResult getCheckInScmResult()
206 {
207 return checkInScmResult;
208 }
209
210 public void setCheckOutScmResult( CheckOutScmResult checkOutScmResult )
211 {
212 this.checkOutScmResult = checkOutScmResult;
213 }
214
215 public CheckOutScmResult getCheckOutScmResult()
216 {
217 return checkOutScmResult;
218 }
219
220 public void setChangeLogScmResult( ChangeLogScmResult changeLogScmResult )
221 {
222 this.changeLogScmResult = changeLogScmResult;
223 }
224
225 public ChangeLogScmResult getChangeLogScmResult()
226 {
227 return changeLogScmResult;
228 }
229
230 public void setDiffScmResult( DiffScmResult diffScmResult )
231 {
232 this.diffScmResult = diffScmResult;
233 }
234
235 public DiffScmResult getDiffScmResult()
236 {
237 return diffScmResult;
238 }
239
240 public ExportScmResult getExportScmResult()
241 {
242 return exportScmResult;
243 }
244
245 public void setExportScmResult( ExportScmResult exportScmResult )
246 {
247 this.exportScmResult = exportScmResult;
248 }
249
250 public void setTagScmResult( TagScmResult tagScmResult )
251 {
252 this.tagScmResult = tagScmResult;
253 }
254
255 public TagScmResult getTagScmResult()
256 {
257 return tagScmResult;
258 }
259
260 public void setRemoveScmResult( RemoveScmResult removeScmResult )
261 {
262 this.removeScmResult = removeScmResult;
263 }
264
265 public RemoveScmResult getRemoveScmResult()
266 {
267 return removeScmResult;
268 }
269
270 public void setStatusScmResult( StatusScmResult statusScmResult )
271 {
272 this.statusScmResult = statusScmResult;
273 }
274
275 public StatusScmResult getStatusScmResult()
276 {
277 return statusScmResult;
278 }
279
280 public void setUpdateScmResult( UpdateScmResult updateScmResult )
281 {
282 this.updateScmResult = updateScmResult;
283 }
284
285 public UpdateScmResult getUpdateScmResult()
286 {
287 return updateScmResult;
288 }
289
290 public void setEditScmResult( EditScmResult editScmResult )
291 {
292 this.editScmResult = editScmResult;
293 }
294
295 public EditScmResult getEditScmResult()
296 {
297 return editScmResult;
298 }
299
300 public void setUnEditScmResult( UnEditScmResult unEditScmResult )
301 {
302 this.unEditScmResult = unEditScmResult;
303 }
304
305 public UnEditScmResult getUnEditScmResult()
306 {
307 return unEditScmResult;
308 }
309
310 public void setListScmResult( ListScmResult listScmResult )
311 {
312 this.listScmResult = listScmResult;
313 }
314
315 public ListScmResult getListScmResult()
316 {
317 return listScmResult;
318 }
319
320 public void setBlameScmResult( BlameScmResult blameScmResult )
321 {
322 this.blameScmResult = blameScmResult;
323 }
324
325 public BlameScmResult getBlameScmResult()
326 {
327 return blameScmResult;
328 }
329
330 public MkdirScmResult getMkdirScmResult()
331 {
332 return mkdirScmResult;
333 }
334
335 public void setMkdirScmResult( MkdirScmResult mkdirScmResult )
336 {
337 this.mkdirScmResult = mkdirScmResult;
338 }
339
340 /**
341 * {@inheritDoc}
342 */
343 public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
344 throws ScmRepositoryException
345 {
346 return scmProviderRepository;
347 }
348
349 /**
350 * {@inheritDoc}
351 */
352 public ScmProviderRepository makeProviderScmRepository( File path )
353 throws ScmRepositoryException, UnknownRepositoryStructure
354 {
355 return scmProviderRepository;
356 }
357
358 /**
359 * {@inheritDoc}
360 */
361 public List<String> validateScmUrl( String scmSpecificUrl, char delimiter )
362 {
363 return errors;
364 }
365
366 /**
367 * {@inheritDoc}
368 */
369 public String getScmSpecificFilename()
370 {
371 return scmSpecificFilename;
372 }
373
374 /**
375 * {@inheritDoc}
376 */
377 public AddScmResult add( ScmRepository repository, ScmFileSet fileSet )
378 throws ScmException
379 {
380 return getAddScmResult();
381 }
382
383 /**
384 * {@inheritDoc}
385 */
386 public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, String message )
387 throws ScmException
388 {
389 return getAddScmResult();
390 }
391
392 public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, CommandParameters commandParameters )
393 throws ScmException
394 {
395 return getAddScmResult();
396 }
397
398 /**
399 * {@inheritDoc}
400 */
401 public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName )
402 throws ScmException
403 {
404 return getBranchScmResult();
405 }
406
407 /**
408 * {@inheritDoc}
409 */
410 public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName, String message )
411 throws ScmException
412 {
413 return getBranchScmResult();
414 }
415
416 /**
417 * {@inheritDoc}
418 */
419 public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName,
420 ScmBranchParameters scmBranchParameters )
421 throws ScmException
422 {
423 return getBranchScmResult();
424 }
425
426 /**
427 * {@inheritDoc}
428 */
429 public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
430 int numDays, String branch )
431 throws ScmException
432 {
433 return getChangeLogScmResult();
434 }
435
436 /**
437 * {@inheritDoc}
438 */
439 public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
440 int numDays, String branch, String datePattern )
441 throws ScmException
442 {
443 return getChangeLogScmResult();
444 }
445
446 /**
447 * {@inheritDoc}
448 */
449 public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag )
450 throws ScmException
451 {
452 return getChangeLogScmResult();
453 }
454
455 /**
456 * {@inheritDoc}
457 */
458 public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag,
459 String datePattern )
460 throws ScmException
461 {
462 return getChangeLogScmResult();
463 }
464
465 /**
466 * {@inheritDoc}
467 */
468 public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
469 int numDays, ScmBranch branch )
470 throws ScmException
471 {
472 return getChangeLogScmResult();
473 }
474
475 /**
476 * {@inheritDoc}
477 */
478 public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
479 int numDays, ScmBranch branch, String datePattern )
480 throws ScmException
481 {
482 return getChangeLogScmResult();
483 }
484
485 public ChangeLogScmResult changeLog( ChangeLogScmRequest scmRequest )
486 throws ScmException
487 {
488 return getChangeLogScmResult();
489 }
490
491 /**
492 * {@inheritDoc}
493 */
494 public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
495 ScmVersion endVersion )
496 throws ScmException
497 {
498 return getChangeLogScmResult();
499 }
500
501 /**
502 * {@inheritDoc}
503 */
504 public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startRevision,
505 ScmVersion endRevision, String datePattern )
506 throws ScmException
507 {
508 return getChangeLogScmResult();
509 }
510
511 /**
512 * {@inheritDoc}
513 */
514 public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String tag, String message )
515 throws ScmException
516 {
517 return getCheckInScmResult();
518 }
519
520 /**
521 * {@inheritDoc}
522 */
523 public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String message )
524 throws ScmException
525 {
526 return getCheckInScmResult();
527 }
528
529 /**
530 * {@inheritDoc}
531 */
532 public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, ScmVersion revision, String message )
533 throws ScmException
534 {
535 return getCheckInScmResult();
536 }
537
538 /**
539 * {@inheritDoc}
540 */
541 public CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, String tag,
542 boolean recursive )
543 throws ScmException
544 {
545 return getCheckOutScmResult();
546 }
547
548 /**
549 * {@inheritDoc}
550 */
551 public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag )
552 throws ScmException
553 {
554 return getCheckOutScmResult();
555 }
556
557 /**
558 * {@inheritDoc}
559 */
560 public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet )
561 throws ScmException
562 {
563 return getCheckOutScmResult();
564 }
565
566 /**
567 * {@inheritDoc}
568 */
569 public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
570 throws ScmException
571 {
572 return getCheckOutScmResult();
573 }
574
575 /**
576 * {@inheritDoc}
577 */
578 public CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, boolean recursive )
579 throws ScmException
580 {
581 return getCheckOutScmResult();
582 }
583
584 /**
585 * {@inheritDoc}
586 */
587 public CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion version,
588 boolean recursive )
589 throws ScmException
590 {
591 return getCheckOutScmResult();
592 }
593
594 /**
595 * {@inheritDoc}
596 */
597 public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision )
598 throws ScmException
599 {
600 return getDiffScmResult();
601 }
602
603 /**
604 * {@inheritDoc}
605 */
606 public DiffScmResult diff( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion startVersion,
607 ScmVersion endVersion )
608 throws ScmException
609 {
610 return getDiffScmResult();
611 }
612
613 /**
614 * @return getUpdateScmResult() always
615 */
616 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate,
617 String datePattern, boolean runChangelog )
618 throws ScmException
619 {
620 return getUpdateScmResult();
621 }
622
623 /**
624 * {@inheritDoc}
625 */
626 public EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
627 throws ScmException
628 {
629 return getEditScmResult();
630 }
631
632 /**
633 * {@inheritDoc}
634 */
635 public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag )
636 throws ScmException
637 {
638 return getExportScmResult();
639 }
640
641 /**
642 * {@inheritDoc}
643 */
644 public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag, String outputDirectory )
645 throws ScmException
646 {
647 return getExportScmResult();
648 }
649
650 /**
651 * {@inheritDoc}
652 */
653 public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet )
654 throws ScmException
655 {
656 return getExportScmResult();
657 }
658
659 /**
660 * {@inheritDoc}
661 */
662 public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
663 throws ScmException
664 {
665 return getExportScmResult();
666 }
667
668 /**
669 * {@inheritDoc}
670 */
671 public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
672 String outputDirectory )
673 throws ScmException
674 {
675 return getExportScmResult();
676 }
677
678 /**
679 * {@inheritDoc}
680 */
681 public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, String tag )
682 throws ScmException
683 {
684 return getListScmResult();
685 }
686
687 /**
688 * {@inheritDoc}
689 */
690 public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion version )
691 throws ScmException
692 {
693 return getListScmResult();
694 }
695
696 /**
697 * {@inheritDoc}
698 */
699 public RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, String message )
700 throws ScmException
701 {
702 return getRemoveScmResult();
703 }
704
705 /**
706 * {@inheritDoc}
707 */
708 public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet )
709 throws ScmException
710 {
711 return getStatusScmResult();
712 }
713
714 /**
715 * {@inheritDoc}
716 */
717 public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tag )
718 throws ScmException
719 {
720 return getTagScmResult();
721 }
722
723 /**
724 * {@inheritDoc}
725 */
726 public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tag, String message )
727 throws ScmException
728 {
729 return getTagScmResult();
730 }
731
732 public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName,
733 ScmTagParameters scmTagParameters )
734 throws ScmException
735 {
736 return getTagScmResult();
737 }
738
739 /**
740 * {@inheritDoc}
741 */
742 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag )
743 throws ScmException
744 {
745 return getUpdateScmResult();
746 }
747
748 /**
749 * {@inheritDoc}
750 */
751 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, boolean runChangelog )
752 throws ScmException
753 {
754 return getUpdateScmResult();
755 }
756
757 /**
758 * {@inheritDoc}
759 */
760 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, String datePattern )
761 throws ScmException
762 {
763 return getUpdateScmResult();
764 }
765
766 /**
767 * {@inheritDoc}
768 */
769 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate )
770 throws ScmException
771 {
772 return getUpdateScmResult();
773 }
774
775 /**
776 * {@inheritDoc}
777 */
778 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate,
779 String datePattern )
780 throws ScmException
781 {
782 return getUpdateScmResult();
783 }
784
785 /**
786 * {@inheritDoc}
787 */
788 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet )
789 throws ScmException
790 {
791 return getUpdateScmResult();
792 }
793
794 /**
795 * {@inheritDoc}
796 */
797 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
798 throws ScmException
799 {
800 return getUpdateScmResult();
801 }
802
803 /**
804 * {@inheritDoc}
805 */
806 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, boolean runChangelog )
807 throws ScmException
808 {
809 return getUpdateScmResult();
810 }
811
812 /**
813 * {@inheritDoc}
814 */
815 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
816 boolean runChangelog )
817 throws ScmException
818 {
819 return getUpdateScmResult();
820 }
821
822 /**
823 * {@inheritDoc}
824 */
825 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
826 String datePattern )
827 throws ScmException
828 {
829 return getUpdateScmResult();
830 }
831
832 /**
833 * {@inheritDoc}
834 */
835 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate )
836 throws ScmException
837 {
838 return getUpdateScmResult();
839 }
840
841 /**
842 * {@inheritDoc}
843 */
844 public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate,
845 String datePattern )
846 throws ScmException
847 {
848 return getUpdateScmResult();
849 }
850
851 /**
852 * {@inheritDoc}
853 */
854 public UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
855 throws ScmException
856 {
857 return getUnEditScmResult();
858 }
859
860 /**
861 * {@inheritDoc}
862 */
863 public BlameScmResult blame( ScmRepository repository, ScmFileSet fileSet, String filename )
864 throws ScmException
865 {
866 return getBlameScmResult();
867 }
868
869 public BlameScmResult blame( BlameScmRequest blameScmRequest )
870 throws ScmException
871 {
872 return getBlameScmResult();
873 }
874
875 /**
876 * {@inheritDoc}
877 */
878 public MkdirScmResult mkdir( ScmRepository repository, ScmFileSet fileSet, String message, boolean createInLocal )
879 throws ScmException
880 {
881 return getMkdirScmResult();
882 }
883
884 public InfoScmResult info( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
885 throws ScmException
886 {
887 return new InfoScmResult( "", "", "", true );
888 }
889
890 public RemoteInfoScmResult remoteInfo( ScmProviderRepository repository, ScmFileSet fileSet,
891 CommandParameters parameters )
892 throws ScmException
893 {
894 return new RemoteInfoScmResult( "", null, null );
895 }
896 }