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