Commit Graph

1377 Commits

Author SHA1 Message Date
Antoine Beaupré c7c02ef725 fix path to favicon 2015-10-19 12:15:39 -04:00
Antoine Beaupré 5cd5fa72f6 warn users about the environment on multi-user systems 2015-10-19 11:29:22 -04:00
Antoine Beaupré 3d906ab731 word-wrap a bullet list as paragraphs instead
it looks nicer that way
2015-10-19 11:17:10 -04:00
Antoine Beaupré b122fca580 use titles instead of definitions in FAQ
this way the titles show up in the table of contents and we can link
to individual entries
2015-10-19 11:12:14 -04:00
Antoine Beaupré 500c2a8a20 fix warnings in docs generation 2015-10-19 11:09:28 -04:00
Antoine Beaupré 780a7d816a remove mention of "borg" in changelog title
we know what we are looking at already...

also demote the attic changelog so it doesn't show in the main table
of contents.
2015-10-19 11:08:19 -04:00
Thomas Waldmann af2f1f7861 remove a fixed FIXME
see a few lines below, where it renames the original file to *.beforerecover before creating the repaired copy using the old name.
2015-10-19 11:57:12 +02:00
Thomas Waldmann 894546c3fe skip the benchmarks by default, especially on travis 2015-10-19 11:47:24 +02:00
TW 79482a1c46 Merge pull request #310 from ThomasWaldmann/non-ascii-acls
Non ascii acls
2015-10-19 11:39:15 +02:00
TW a7db210ee9 Merge pull request #308 from ThomasWaldmann/test-binary
Test binary, fixes #215
2015-10-19 10:14:20 +02:00
Thomas Waldmann d602558f9d acls (darwin): use helper functions safe_encode/safe_decode
also: rewrite one bytes-based function to work more similar than all other acl-processing functions.
2015-10-19 02:32:29 +02:00
Thomas Waldmann 213075e5c1 acls (freebsd): use helper functions safe_encode/safe_decode 2015-10-19 01:43:46 +02:00
Thomas Waldmann 259f8678d6 acls (linux): helper functions safe_encode/safe_decode 2015-10-19 01:40:15 +02:00
Thomas Waldmann 5a2aa7b02b acls (linux): make tests as they should be
TODO: can this be done without creating a user/group "übel" with uid 666 gid 666?
2015-10-19 01:09:58 +02:00
Thomas Waldmann e818026440 acls (linux): remove int() cast
it seems like the (non-numerical) name or group might get into fields[3] if the name -> uid or group -> gid mapping is unknown.
2015-10-19 00:28:53 +02:00
Thomas Waldmann 1f14d1de19 acls (linux): use surrogatescape error handling for acl_append_numeric_ids and acl_numeric_ids
surrogatescape will decode/encode invalid utf-8 sequences (if we do not get utf-8) in a round-tripping way.
2015-10-19 00:01:19 +02:00
Thomas Waldmann 63ed5d9949 acls (posix platforms): use surrogatescape error handling for posix_acl_use_stored_uid_gid
surrogatescape will decode/encode invalid utf-8 sequences (if we do not get utf-8) in a round-tripping way.
2015-10-18 23:43:24 +02:00
Thomas Waldmann b2cffe00fe acls (linux): use surrogatescape error handling, fix test
surrogatescape will decode/encode invalid utf-8 sequences (if we do not get utf-8) in a round-tripping way.
2015-10-18 23:33:29 +02:00
Thomas Waldmann 55179fe64d acls (linux): add a test for acl_use_local_uid_gid and fix this function
this has never worked as intended as the function was not using the computed "fields[1]" value at all.
plus there were type issues after that was fixed.
2015-10-18 23:20:01 +02:00
Thomas Waldmann 45b04cd3c1 add non-ascii ACL test (linux)
still failing as the tested code does not yet work with non-ascii ACLs
2015-10-18 20:54:46 +02:00
Thomas Waldmann 723590df3d fix borg.exe presence detection for python3.2 2015-10-18 19:18:24 +02:00
Thomas Waldmann 60cdb5f716 make archiver tests run for the python source as well as for the pyinstaller binary, fixes #215
if the borg.exe binary is not available in PATH, binary tests are skipped.

source tests are run without forking (for better speed, esp. on travis).
binary tests need forking the binary, of course.

for source tests, some tests check for an exception to happen.
for a forked binary, we of course can only check the exit code, which is non-zero in that case.
2015-10-18 18:48:36 +02:00
Thomas Waldmann 03975016c5 upgrader: fix / reformat comments 2015-10-18 16:43:59 +02:00
TW 3c52f41132 Merge pull request #299 from anarcat/no-inplace
do not upgrade repositories in place by default
2015-10-18 16:36:07 +02:00
TW 10567fb327 Merge pull request #306 from anarcat/upgrader-index-fixes
fix cascading failure with the index conversion code
2015-10-18 14:54:49 +02:00
TW 2c4196ed54 Merge pull request #297 from ThomasWaldmann/help-usage-docs
include the help offered by borg help <topic> in the usage docs, fixes #293
2015-10-18 14:51:12 +02:00
TW 1b426c5e24 Merge pull request #300 from ThomasWaldmann/attic-changes
include a list of major changes compared to attic into the README, fixes #224
2015-10-18 14:50:40 +02:00
Antoine Beaupré 319fcbacc5 fix phrasings in "in place" refactoring 2015-10-17 22:04:00 -04:00
Antoine Beaupré 8c48015e70 try to work around Windows idiocy of open files
apparently, we may be able to rewrite an open file if we rename it first.

i have no way to test this, unfortunately
2015-10-17 21:59:51 -04:00
Antoine Beaupré e59f1d50d9 fix tests: umask is not defined in the repo yet 2015-10-17 21:56:25 -04:00
Antoine Beaupré ce72051284 rename cache variable to index for clarity 2015-10-17 21:50:16 -04:00
Antoine Beaupré 07e7f2dcad fixup warning message 2015-10-17 21:50:14 -04:00
Antoine Beaupré fb68c6ff70 always convert the chunks cache we find
it seems it is possible that the chunks files are copied but *not*
converted. this may have happened here because the conversion was
interrupted, although the specific scenario is still unclear (but it
did happen during manual tests here). therefore reproducing this
problem seems to be difficult, hence the lack of tests for this
specific issue.

since we consider the header replacement code to be safe, that we
always convert shouldn't pose any additional threat to the existing
borg chunk cache.
2015-10-17 21:44:50 -04:00
Antoine Beaupré c4599d8ea4 fix cascading failure with the index conversion code
this resolves bug #something where the index file could not be
converted, completely breaking conversion.

it seems that, during some refactoring, the index conversion code was
completely dropped. this was missed by the unit tests because the repo
can still be opened by the constructor even though the index is
invalid, so tests need improvements there.
2015-10-17 21:44:50 -04:00
anarcat 2bd2267969 Merge pull request #296 from ThomasWaldmann/one-file-system-option
use --one-file-system (as "du" tool does) instead of --do-not-cross-mountpoints
2015-10-17 21:24:40 -04:00
Thomas Waldmann 6712bdf456 include a list of major changes compared to attic into the README, fixes #224 2015-10-17 22:27:59 +02:00
Thomas Waldmann 908e944bdd include the help offered by borg help <topic> in the usage docs, fixes #293
it's not pretty yet, but better than nothing.
2015-10-17 21:53:09 +02:00
Thomas Waldmann fc78b44923 use --one-file-system (as "du" tool does) instead of --do-not-cross-mountpoints
the old name still works, but emits a deprecation warning suggesting the new name.

this is a followup to 4fd06e2634, which added "-x" (as seen in "du").
2015-10-17 20:55:07 +02:00
TW 0e9c524266 Merge pull request #292 from anarcat/rename-usage
add missing rename usage to docs, closes #279
2015-10-17 20:06:23 +02:00
TW 2dda41dc2a Merge pull request #294 from anarcat/x-option
add -x flag, common to GNU utilities
2015-10-17 20:06:02 +02:00
TW b0f66e84a9 Merge pull request #295 from yagebu/master
docs: restructure installation.rst + add OS X install instructions
2015-10-17 20:05:36 +02:00
Jakob Schnitzer 462bb41e57 docs: AUTHORS: one borg in the title is enough 2015-10-17 18:40:15 +02:00
Jakob Schnitzer 7cc3becad9 docs: restructure installation.rst, add OSX instructions
Moved the list of dependencies to the corresponding subsection.
Collected all preparation steps under one heading.
Added link to the Arch Linux AUR package.
Install docs for OS X.
2015-10-17 18:40:15 +02:00
Antoine Beaupré eacb0b9e83 Merge branch 'logging-refactor' into upstream 2015-10-17 12:29:52 -04:00
Antoine Beaupré 4fd06e2634 add -x flag, common to GNU utilities
it should also probably be --one-file-system for coherence with du(1)
2015-10-17 12:23:45 -04:00
Antoine Beaupré e6c2359a60 add missing rename usage to docs, closes #279 2015-10-17 12:13:59 -04:00
Antoine Beaupré 34d0e0641c make sure hardlink copy doesn't break perms 2015-10-17 00:41:20 -04:00
Antoine Beaupré 4be9c29d0d os.link signature is the same as shutil.copy, use it directly 2015-10-17 00:38:14 -04:00
Antoine Beaupré aaf72e3861 do not skip all attic tests, some work without now 2015-10-17 00:38:14 -04:00
Antoine Beaupré 6d457aed57 do not upgrade repositories in place by default
instead, we perform the equivalent of `cp -al` on the repository to
keep a backup, and then rewrite the files, breaking the hardlinks as
necessary.

it has to be confirmed that the rest of Borg will also break hardlinks
when operating on files in the repository. if Borg operates in place
on any files of the repository, it could jeoperdize the backup, so
this needs to be verified. I believe that most files are written to a
temporary file and moved into place, however, so the backup should be
safe.

the rationale behind the backup copy is that we want to be extra
careful with user's data by default. the old behavior is retained
through the `--inplace`/`-i` commandline flag. plus, this way we don't
need to tell users to go through extra steps (`cp -a`, in particular)
before running the command.

also, it can take a long time to do the copy of the attic repository
we wish to work on. since `cp -a` doesn't provide progress
information, the new default behavior provides a nicer user experience
of giving an overall impression of the upgrade progress, while
retaining compatibility with Attic by default (in a separate
repository, of course).

this makes the upgrade command much less scary to use and hopefully
will convert drones to the borg collective.

the only place where the default inplace behavior is retained is in
the header_replace() function, to avoid breaking the cache conversion
code and to keep API stability and semantic coherence ("replace" by
defaults means in place).
2015-10-17 00:38:07 -04:00