  [[title
           /5.7/ Publish Your Archive -- an Outbound Mirror
  ]]

 <"*(prev)*" -- $/hacking/merge-from-upstream.html> <"*(next chapter)*" -- $/treedelta/inventory.html>


  Creating local branches is immediately useful if you want to
  maintain local changes to an upstream project.  Making changes to
  local branches is also the first step of the (default) two step
  process for sending your changes back to upstream.

  The second step in sending your changes locally archived changes
  to upstream is to *publish your archive*, much the same way
  that upstream projects publish their archives.

  Publishing a local archive usually takes the form of creating a
  *remote mirror* of that archive.  This is nearly the same as the
  process for creating a local mirror of a remote archive.


* Creating a Remote Mirror

  Schematically, a remote mirror of a local archive is created
  by a command of the form:

  [[blockquote
    `% tla make-archive --mirror' *archive* *remote-url*
  ]]

  where *archive* is replaced by the name of the local archive
  and *remote-url* is replaced by a location for the mirror.

  Remote mirrors can be created from URL's with any of the 
  method prefixes:

  [[tty
    file:
    ftp:
    sftp:
    http:
  ]]

  The method prefix `file:' is the default if none is explicitly 
  provided.

  The method prefix, when used to create a remote mirror, must 
  refer to a resource which offers /DAV/ protocol support.


* Creating an HTTP-servable Mirror

  If a remote archive will be a read-only mirror for some clients
  that access it via vanilla /HTTP/ (rather than /DAV/ on /HTTP/),
  then the `--listing' option must be provided to `make-archive':

  [[blockquote
    `% tla make-archive -l --mirror' *archive* *remote-url*
  ]]


* Updating a Remote Mirror

  Remote mirrors are incrementally updated from local archives just
  as local mirrors are updated from remote archives:

  [[blockquote
    `% tla archive-mirror' *archive*
  ]]


* Commands Discussed

  [[tty
    % tla make-archive -H
    % tla archive-mirror -H
  ]]



 <"*(prev)*" -- $/hacking/merge-from-upstream.html> <"*(next chapter)*" -- $/treedelta/inventory.html>

* Copyright

  Copyright /(C)/ 2005 Tom Lord (`lord@emf.net')

  This program is free software; you can redistribute it and/or modify
  it under the terms of the /GNU General Public License/ as published by
  the Free Software Foundation; either version 2, or (at your option)
  any later version.

  This program is distributed in the hope that it will be useful,
  but \\/WITHOUT ANY WARRANTY/\\; without even the implied warranty of
  \\/MERCHANTABILITY/\\ or \\/FITNESS FOR A PARTICULAR PURPOSE/\\.  See the
  /GNU General Public License/ for more details.

  You should have received a copy of the /GNU General Public License/
  along with this software; see the file <"`COPYING'" --
  $/COPYING.html>.  If not, write to the Free Software Foundation, 675
  Mass Ave, Cambridge, MA 02139, USA.

 <"*(prev)*" -- $/hacking/merge-from-upstream.html> <"*(next chapter)*" -- $/treedelta/inventory.html>

 [[null
   ; arch-tag: Tom Lord Wed Mar 30 14:41:41 2005 (branch-publishing.txt)
 ]]
