Brian Warner
98ab848cda
cp: error on target-filename collisions, rather than overwrite
...
Closes ticket:2447
2015-07-28 17:39:26 -07:00
Brian Warner
be5d07a70a
apply review feedback
2015-05-03 22:14:36 -07:00
Brian Warner
275ddb93cc
cp: trailing slash on source filename is an error, just like on targets
2015-05-03 22:14:35 -07:00
Brian Warner
ca23c4fa23
tahoe cp: ignore trailing slash on source arguments
...
This avoids an error case where an empty child name resulted in a
duplicate mkdir. It adds a precondition check to guard against empty
child names, and some test cases. It also cleans up a funny redundancy
noticed earlier (refs ticket:2329).
2015-05-03 22:13:52 -07:00
Brian Warner
48da2cd99b
tahoe_cp: be consistent with "source.basename() is None" testing
2015-03-17 11:13:57 -07:00
Brian Warner
190743e066
tahoe_cp: minor cleanups, no behavior changes
2015-03-17 11:13:33 -07:00
Brian Warner
1838fe8eaf
tahoe_cp: make populate(recurse=) more explicit
2015-03-17 11:11:11 -07:00
Brian Warner
f3a9be1c5e
improve error message for slash-terminated non-directories
2015-03-10 09:17:17 -07:00
Brian Warner
2a361bc46f
tahoe cp: overhaul target assignment, update tests
...
This substantially changes the internals of "tahoe cp", to behave in
accordance with the scheme developed in ticket:2329. test_cli_cp.py got
a large new test to exercise all the various combinations. This also
changes the set of error messages that "tahoe cp" can produce.
This modifies try_copy(), inserts a new implementation of
copy_things_to_directory() (and supporting methods), and fixes a few
bugs elsewhere.
fixes ticket:2329
2015-03-03 18:19:58 -08:00
Brian Warner
ca92bfdc88
tahoe_cp: delete copy_to_directory() code
...
This code will be replaced in the next commit with an entirely different
approach, and modifying it in a single commit would yield a completely
unreadable diff.
2015-03-03 18:18:17 -08:00
Brian Warner
c32c8794bc
tahoe_cp: simplify some checks, rename some functions
...
no behavioral changes
2015-03-03 18:03:17 -08:00
Brian Warner
6d84cdd35d
tahoe_cp.py: use s.basename() instead of tracking it separately
2015-02-24 02:07:57 -08:00
Brian Warner
98ec466d54
tahoe_cp.py: store basename in the Source instance
2015-02-24 01:55:53 -08:00
Brian Warner
7426eccb29
tahoe_cp.py: clean up unicode handling
2015-02-03 11:10:36 -08:00
Daira Hopwood
8147f3c77e
Changes filename to unicode before placing the file. refs #2027
...
Author: Mark Berger <mark.berger.j@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:50:25 +00:00
Daira Hopwood
4a0cdce86b
Use absolute paths in tahoe cp and tahoe backup. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:47:35 +00:00
Daira Hopwood
95f98e1aae
Quote local paths correctly. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:05:20 +00:00
Mark Berger
1c96039270
tahoe cp -r now copies the top level directory with its children
2014-09-02 12:51:13 -07:00
Brian Warner
99479226ed
hush current pyflakes warnings (list comprehensions)
...
closes #2245
2014-06-23 13:54:07 -07:00
David-Sarah Hopwood
ef0a6c3015
Avoid double-counting source files in 'tahoe cp --verbose'. fixes #1783
...
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-20 00:57:50 +00:00
frederik b
595d611c9b
fixed wrong index in tahoe cp --verbose, as explained in #1805
...
this bug shows wrong counters for copied files in verbose mode
2012-09-29 21:32:51 -07:00
david-sarah
bbed522033
Remove all trailing whitespace from .py files.
2011-08-08 17:11:17 -07:00
Kevan Carstensen
448278e807
cli: make 'tahoe cp' overwrite mutable files in-place
2011-07-29 13:20:39 -07:00
Francois Deppierraz
14ee763c54
tahoe_cp.py: Don't call urllib.quote with an Unicode argument, fix #1224
...
tahoe_backup.py: Fix another (potential) occurrence of calling urllib.quote()
with an Unicode parameter
2010-10-29 01:45:20 -07:00
david-sarah
618db4867c
Replace uses of os.path.abspath with abspath_expanduser_unicode where necessary. This makes basedir paths consistently represented as Unicode.
2010-07-21 17:14:18 -07:00
david-sarah
a8161c915a
Correct stringutils->encodingutil patch to be the newer version, rather than the old version that was committed in error.
2010-07-17 18:34:35 -07:00
david-sarah
11077ea74d
Rename stringutils to encodingutil, and drop listdir_unicode and open_unicode (since the Python stdlib functions work fine with Unicode paths). Also move some utility functions to fileutil.
2010-07-11 17:30:15 -07:00
david-sarah
731e3d68df
common_http.py, tahoe_cp.py: Fix an error in calling the superclass constructor in HTTPError and MissingSourceError (introduced by the Unicode fixes).
2010-06-07 10:47:14 -07:00
david-sarah
80252debcd
Unicode fixes.
2010-06-06 18:02:15 -07:00
Zooko O'Whielacronx
952f3bf3ef
fix flakes
2010-06-04 00:58:45 -07:00
Francois Deppierraz
496802420e
Fix handling of correctly encoded unicode filenames ( #534 )
...
Tahoe CLI commands working on local files, for instance 'tahoe cp' or 'tahoe
backup', have been improved to correctly handle filenames containing non-ASCII
characters.
In the case where Tahoe encounters a filename which cannot be decoded using the
system encoding, an error will be returned and the operation will fail. Under
Linux, this typically happens when the filesystem contains filenames encoded
with another encoding, for instance latin1, than the system locale, for
instance UTF-8. In such case, you'll need to fix your system with tools such
as 'convmv' before using Tahoe CLI.
All CLI commands have been improved to support non-ASCII parameters such as
filenames and aliases on all supported Operating Systems except Windows as of
now.
2010-05-19 17:43:56 -07:00
Zooko O'Whielacronx
34a50b857a
docs: a few small edits to try to guide newcomers through the docs
...
These edits were suggested by my watching over Jake Appelbaum's shoulder as he completely ignored/skipped/missed install.html and also as he decided that debian.txt wouldn't help him with basic installation. Then I threw in a few docs edits that have been sitting around in my sandbox asking to be committed for months.
2010-03-03 15:19:02 -08:00
Kevan Carstensen
63c8c65747
Alter CLI utilities to handle nonexistent aliases better
2010-02-10 18:43:18 -08:00
david-sarah
6057bc02cc
Prevent mutable objects from being retrieved from an immutable directory, and associated forward-compatibility improvements.
2010-01-26 22:44:30 -08:00
Brian Warner
731d15e56f
hush pyflakes-0.4.0 warnings: remove trivial unused variables. For #900 .
2010-01-14 14:15:29 -08:00
Brian Warner
74974b27fe
Implement more coherent behavior when copying with dircaps/filecaps ( closes #761 ). Patch by Kevan Carstensen.
2009-11-30 13:10:09 -08:00
Brian Warner
f0b0ad1c8f
tahoe cp -r: add --caps-only flag, to write filecaps into local files instead of actual file contents. Used only for debugging and as a quick tree-comparison tool.
2009-03-15 16:19:58 -07:00
Brian Warner
969b758bf5
tahoe_cp.py: return 0 for success, instead of None
2009-03-12 13:53:45 -07:00
Brian Warner
192c161be7
tahoe_cp.py: improve error reporting slightly: don't json-interpret HTTP errors, pass through tahoe webapi error messages
2009-03-07 05:40:51 -07:00
Brian Warner
24ebdb3954
tahoe_cp.py: don't be verbose unless --verbose is passed: default is one line of success
2009-03-07 02:44:21 -07:00
Larry Hosken
3267984fa9
'tahoe cp -r', upon encountering a dangling symlink, would assert out.
...
This was somewhat sad; the assertion didn't say what path caused the
error, what went wrong. So... silently skip over things that are
neither dirs nor files.
2009-01-07 23:51:14 -07:00
francois
c1f639d230
Fix an filename encoding issue with "tahoe cp"
2008-11-11 14:08:03 -07:00
Brian Warner
935d185696
tolerate simplejson-2.0.0 and newer, which frequently return bytestrings instead of unicode objects. Closes #523
2008-09-30 15:21:06 -07:00
Brian Warner
f181a0458a
CLI: simplify argument-passing, use options= for everthing, including stdout
2008-08-01 11:46:24 -07:00
Brian Warner
457248f023
tahoe_cp: rewrite, make --recursive work
2008-05-21 17:35:21 -07:00
Brian Warner
7ae432abf8
tahoe_cp.py: fix pyflakes complaint
2008-05-21 12:09:13 -07:00
Brian Warner
7afd869854
cli: initial implementation of 'cp -r', probably doesn't work yet
2008-05-21 11:49:22 -07:00
Brian Warner
0df663b7ae
CLI: implement the easy part of cp (no -r, only two arguments)
2008-05-20 16:56:03 -07:00