FTP Extension

This extension is not distributed with Mercurial.

Author: André Klitzing

Repository: http://hg.incubo.de/hgftp/

Accouncement: http://markmail.org/thread/hly5zftmszqiq5iz

Overview

Upload snapshots of a revision to one or more FTP server.

It will upload all files of a revision and set a (local) tag like "uploaded@host". If it will find an existing tag for that host it will remove vanished files and upload only the difference between that revision and the new one.

Configuration

To enable this extension, add this to your .hgrc file:

[extensions]
    hgext.ftp = /path/to/ftp.py

hgrc

[paths]

You can add multiple destinations to [paths] like in push/pull.

[paths]
    ftp    = ftp://[user[:pass]@]host[:port]/[path]
    myhost = ftp://andre@incubo.de/htdocs

You can select it like:

    hg ftp myhost

Or you can provide a complete URL:

    hg ftp ftp://user:psw@host/basedir

If you don't provide a Destination it will use ftp in [paths] by default.

[ftp]

If you add chmod_file or chmod_dir it will CHMOD it on upload. If there is no option for chmod the extension won't call "SITE CHMOD" on ftp server.

[ftp]
    chmod_file  = 644
    chmod_dir   = 755
    global_tags = False
    prefix_tags = uploaded@

Options

There are some options that can overwrite settings in your hgrc.

The extension will only start uploading / removing your files if you provide --upload as an option. A tag will only be set if upload was successful.

-a

--all

upload all files of a changeset; do not use the difference

-d

--dir

CHMOD new directories to given mode

-f

--file

CHMOD new/changed files to given mode

-g

--global

make the tag global

-o

--only

only upload or remove files; do not set a tag

-r

--rev

revision that will be uploaded

-s

--show

show files that will be uploaded or deleted

-t

--tag

use another tag name

-u

--upload

start uploading or removing changed files

If --rev is not provided it will use the current revision of your working dir. But it won't use uncommitted changes of that working dir.

There will be no prefix if you use --tag!


CategoryExtensionsByOthers