<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->

  <title>Archiva UI Rest API: MergeRepositoriesService</title>

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- Bootstrap core CSS -->
  <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> -->

  <!--custom css for these pages-->
  <link rel="stylesheet" href="css/enunciate.css">

  <link href="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.css" type="text/css">

  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
</head>

<body class="home">
 <div class="container">
  <header>
 
   <div id="header" class="column first last span-20">
        <div id="site-name" class="column span-18 append-1 prepend-1 first last"><a href="index.html">Archiva UI Rest API: MergeRepositoriesService</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="resources.html">REST</a></li>
            <li id="nav-data"><a href="data.html">Data Model</a></li>
          </ul>
        </div>
        <div>
          <ul class="xbreadcrumbs" id="breadcrumbs">
<li>
 <a href="index.html" class="home">Home</a> &gt;

            </li>
<li>
 <a href="resources.html">Resources</a> &gt;

            </li>
<li class="current">
 <a href="resource_MergeRepositoriesService.html">MergeRepositoriesService</a>

            </li>
          </ul>
        </div>
      </div>
  <!--<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html">Archiva UI Rest API: MergeRepositoriesService</a>
      </div>
      <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="resources.html">Resources</a></li>
          <li><a href="data.html">Data Types</a></li>
          <li><a href="downloads.html">Files and Libraries</a></li>
        </ul>
      </div>
    </div>
  </nav>-->
 </header>
  <div id="main" class="column first last span-20">
  
      <h1 class="page-header">MergeRepositoriesService <small>Resource</small></h1>

      <p>provide REST services on the top of stage merge repository plugin</p>
      <ul>
<li><a href="#resource_MergeRepositoriesService_getMergeConflictedArtifacts_GET">.//mergeRepositoriesService/mergeConflictedArtifacts/{sourceRepositoryId}/{targetRepositoryId}</a></li>
<li><a href="#resource_MergeRepositoriesService_mergeRepositories_GET">.//mergeRepositoriesService/mergeRepositories/{sourceRepositoryId}/{targetRepositoryId}/{skipConflicts}</a></li>
      </ul>

      <dl class="dl-horizontal">
        <dt>Available Since</dt>
        <dd>1.4-M3</dd>
      </dl>

      <div id="resource_MergeRepositoriesService_getMergeConflictedArtifacts_GET">
        <h2>GET <small>/mergeRepositoriesService/mergeConflictedArtifacts/{sourceRepositoryId}/{targetRepositoryId} <a href=".//mergeRepositoriesService/mergeConflictedArtifacts/{sourceRepositoryId}/{targetRepositoryId}" class="glyphicon glyphicon-new-window" target="_blank"></a></small></h2>

        <p><b>permissions are checked in impl</b></p>

        <dl class="dl-horizontal">
          <dt>Available Since</dt>
          <dd>1.4-M3</dd>
        </dl>

        <table class="table">
          <caption>Request Parameters</caption>
          <thead>
          <tr>
            <th>name</th>
            <th>type</th>
            <th>description</th>
            <th>default</th>
          </tr>
          </thead>
          <tbody>
          <tr>
            <td>sourceRepositoryId</td>
            <td>path</td>
            <td></td>
            <td>n/a</td>
          </tr>
          <tr>
            <td>targetRepositoryId</td>
            <td>path</td>
            <td></td>
            <td>n/a</td>
          </tr>
          </tbody>
        </table>

        <table class="table">
          <caption>Response Body</caption>
          <thead>
          <tr>
            <th>media type</th>
            <th>data type</th>
            <th>description</th>
          </tr>
          </thead>
          <tbody>
          <tr>
            <td><abbr data-toggle="tooltip" data-placement="top" title="Use the &quot;Accept: application/json&quot; HTTP header to request that this media type be provided by the server.">application/json</abbr></td>
            <td>array of <a href="json_Artifact.html">Artifact</a>
 (JSON)</td>
            <td rowspan="2"></td>
          </tr>
          <tr>
            <td><abbr data-toggle="tooltip" data-placement="top" title="Use the &quot;Accept: application/xml&quot; HTTP header to request that this media type be provided by the server.">application/xml</abbr></td>
            <td>list of <a href="xml_ns0_artifact.html">artifact</a>
 (XML)</td>
          </tr>
          </tbody>
        </table>
      </div>

      <dl class="dl-horizontal">
        <dt>Available Since</dt>
        <dd>1.4-M3</dd>
      </dl>

      <div id="resource_MergeRepositoriesService_mergeRepositories_GET">
        <h2>GET <small>/mergeRepositoriesService/mergeRepositories/{sourceRepositoryId}/{targetRepositoryId}/{skipConflicts} <a href=".//mergeRepositoriesService/mergeRepositories/{sourceRepositoryId}/{targetRepositoryId}/{skipConflicts}" class="glyphicon glyphicon-new-window" target="_blank"></a></small></h2>

        <p><b>permissions are checked in impl</b></p>

        <dl class="dl-horizontal">
          <dt>Available Since</dt>
          <dd>1.4-M3</dd>
        </dl>

        <table class="table">
          <caption>Request Parameters</caption>
          <thead>
          <tr>
            <th>name</th>
            <th>type</th>
            <th>description</th>
            <th>default</th>
          </tr>
          </thead>
          <tbody>
          <tr>
            <td>skipConflicts</td>
            <td>path</td>
            <td></td>
            <td>n/a</td>
          </tr>
          <tr>
            <td>sourceRepositoryId</td>
            <td>path</td>
            <td></td>
            <td>n/a</td>
          </tr>
          <tr>
            <td>targetRepositoryId</td>
            <td>path</td>
            <td></td>
            <td>n/a</td>
          </tr>
          </tbody>
        </table>
      </div>
        
        <footer>
          <div class="footer">
            Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.
          </div>
        </footer>

      </div>
    
  </div>


  <!-- JavaScript placed at the end of the document so the pages load faster. -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

  
  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.js" type="text/javascript"></script>
  

</body>
</html>