diff --git a/ChangeLog b/ChangeLog index 5139456b9..51eca457c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -33,6 +33,8 @@ Alexei Romanoff). + Fixed Bug #723, which displayed a misleading message when the output was truncated to a page. + + Fixed Bug #732, which fixes misleading messages and documentation for + merge/push/pull URIs (thanks to Thomas Cech). # Untracked Bugs, biggest first. diff --git a/doc/man/task-sync.5.in b/doc/man/task-sync.5.in index e9654ccf6..1aa4660c6 100644 --- a/doc/man/task-sync.5.in +++ b/doc/man/task-sync.5.in @@ -109,17 +109,39 @@ All the other URIs allow access to remote machines. The first uses SSH and scp .br .RS -ssh://[user@]host[:port]/path/to/undo.data +ssh://[user@]host[:port]/path/to/.task/ .br -[user@]host:/path/ +[user@]host:path/to/.task/ .RE +Remember that in both cases paths are considered to be relative to the users home directory, +i.e. they will expand to ~/path/to/.task/. You can specify absolute paths as follows: + +.br +.RS +ssh://[user@]host[:port]//absolute/path/to/.task/ +.br +[user@]host:/absolute/path/to/.task/ +.RE + +Remark: Since taskwarrior simply calls the scp binary you can specify very much anything +that scp would accept, e.g. host configurations from ~/.ssh/config or ~username +expansion: + +.br +.RS +ssh://configured-host/~[user]/.task/ +.br +configured-host:~[user]/.task/ +.RE + + Rsync is another supported protocol that minimizes network traffic, by a clever algorithm that doesn't copy files that have not changed: .br .RS -rsync://[user@]host.xz[:port]/path/to/undo.data +rsync://[user@]host.xz[:port]/path/to/.task/ .RE Curl supports several protocols that can transfer data using HTTP, HTTPS and @@ -127,11 +149,11 @@ FTP: .br .RS -http://host[:port]/path/to/undo.data +http://host[:port]/path/to/.task/ .br -https://host[:port]/path/to/undo.data +https://host[:port]/path/to/.task/ .br -ftp://[user@]host[:port]/path/to/undo.data +ftp://[user@]host[:port]/path/to/.task/ .RE You can use single quotes to encapsulate user names that contain delimiting diff --git a/doc/man/task.1.in b/doc/man/task.1.in index 461494574..bf672d995 100644 --- a/doc/man/task.1.in +++ b/doc/man/task.1.in @@ -165,15 +165,16 @@ Merges two task databases by comparing the modifications that are stored in the undo.data files. The location of the second undo.data file must be passed on as argument. URL may have the following syntaxes: - ssh://[user@]host.xz[:port]/path/to/undo.data + ssh://[user@]host.xz[:port]/path/to/.task/ - rsync://[user@]host.xz[:port]/path/to/undo.data + rsync://[user@]host.xz[:port]/path/to/.task/ - [user@]host.xz:path/to/undo.data + [user@]host.xz:path/to/.task/ - /path/to/local/undo.data + /path/to/local/.task/ -You can set aliases for frequently used URLs in the .taskrc. +You can set aliases for frequently used URLs in the .taskrc. Further documentation +can be found in task-sync(5) manpage. .TP .B push URL diff --git a/src/command.cpp b/src/command.cpp index 8d46e35e0..f68cce711 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -989,7 +989,7 @@ void handlePull (std::string& outs) Directory location (context.config.get ("data.location")); if (! uri.append ("{pending,undo,completed}.data")) - throw std::string ("The uri '") + uri.path + "' is not a local directory."; + throw std::string ("The uri '") + uri.path + "' is not a directory. Did you forget a trailing '/'?"; Transport* transport; if ((transport = Transport::getTransport (uri)) != NULL)