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