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