Commit Graph

7182 Commits

Author SHA1 Message Date
TW 900398f927
Merge pull request #6968 from ThomasWaldmann/cleanup-prune-master
move prune related code to borg.archiver.prune
2022-08-13 21:28:33 +02:00
Thomas Waldmann 22804f05f9 move prune related code to borg.archiver.prune 2022-08-13 20:59:18 +02:00
TW 3715e327a6
Merge pull request #6964 from ThomasWaldmann/timestamps
Timestamps with timezones
2022-08-13 20:23:31 +02:00
Thomas Waldmann 29db66c8bc transfer: fix archive timestamps to have +00:00 2022-08-13 19:50:49 +02:00
Thomas Waldmann 4ab07b6acb create/recreate/import-tar --timestamp: default to local timezone
if you want to give UTC, just append: +00:00
2022-08-13 19:17:10 +02:00
Thomas Waldmann b4933eb337 get rid of dateutil 2022-08-13 18:31:22 +02:00
Thomas Waldmann ade08ce842 use timezones
- timezone aware timestamps
- str representation with +HHMM or +HH:MM
- get rid of to_locatime
- fix with_timestamp
- have archive start/end time always in local time with tz or as given
- idea: do not lose tz information

then we know when a backup was made and even from
which timezone it was made. if we want to compute
utc, we can do that using these infos.

this makes a quite nice archives list, with timestamps
as expected (in local time with timezone info).

at some places we just enforce utc, like for the
repo manifest timestamp or for the transaction log,
these are usually not looked at by the user.
2022-08-13 18:31:22 +02:00
Thomas Waldmann bab68a8d25 use py37+ datetime.isoformat / .fromisoformat
since python 3.7, .isoformat() is usable IF timespec != "auto"
is given ("auto" [default] would be as evil as before, sometimes
formatting with, sometimes without microseconds).

also since python 3.7, there is now .fromisoformat().
2022-08-11 21:18:56 +02:00
TW b392a60c08
Merge pull request #6962 from ThomasWaldmann/fixes-master
misc fixes / cleanups
2022-08-11 18:38:32 +02:00
Thomas Waldmann c51a0626de remove remainders of borg key change-algorithm
most was already removed previously, just this was overlooked.
2022-08-11 17:42:27 +02:00
Thomas Waldmann a7bc1f88c1 constants: reorder stuff, add comments 2022-08-11 17:36:57 +02:00
Thomas Waldmann a18a9df364 run "black" 2022-08-11 06:34:09 +02:00
Thomas Waldmann 252b145833 remove now unused argument() 2022-08-11 06:30:16 +02:00
Thomas Waldmann 8562940b0d with_repository: fake mechanism not needed
was only used by borg create --dry-run, but that
internally does not use the repo anyway.
2022-08-11 06:29:34 +02:00
Thomas Waldmann 8bebf65bc2 with_repository: invert_fake arg is not used 2022-08-11 06:19:23 +02:00
Thomas Waldmann 73d901a22e with_repository: "exclusive" param is always bool 2022-08-11 06:12:07 +02:00
Thomas Waldmann e54f109afa --nobsdflags does not exist any more
it was replaced by --noflags.
2022-08-11 06:00:12 +02:00
TW c2bcecf2eb
Merge pull request #6942 from mh4ckt3mh4ckt1c4s/doc-shift-odg
update diagrams to odg format, fixes #6928
2022-08-09 22:03:09 +02:00
mh4ckt3mh4ckt1c4s 15a450c7e8 Fix transparency level 2022-08-09 21:20:44 +02:00
mh4ckt3mh4ckt1c4s 259d3fdc76 Tiny fix of transparency bug 2022-08-09 19:33:30 +02:00
mh4ckt3mh4ckt1c4s be9e99e346 Fix size of images to match old ones 2022-08-09 19:21:16 +02:00
mh4ckt3mh4ckt1c4s 3e40f68409 Added the transparency thing to compaction schema 2022-08-09 19:15:09 +02:00
TW 217351804f
Merge pull request #6950 from borgbackup/rel200b1
release 2.0.0b1
2022-08-07 22:49:38 +02:00
Thomas Waldmann 050031fc98 vagrant: pyenv: use python 3.10.2
this fixes build on freebsd, which seems to be broken for 3.10.0.
2022-08-07 22:48:28 +02:00
Thomas Waldmann 460142f4a7 vagrant: fix py310 based testing on netbsd 2022-08-07 22:47:04 +02:00
mh4ckt3mh4ckt1c4s 45663552bf Updated compaction to an odg file 2022-08-07 22:13:33 +02:00
Thomas Waldmann f5b7ae5b30 build_usage build_man 2022-08-07 19:20:34 +02:00
Thomas Waldmann 8148d4e400 fix sphinx warnings 2022-08-07 19:14:03 +02:00
Thomas Waldmann 3556bcb0db set release date 2022-08-07 19:09:06 +02:00
TW 35fbac1cd1
Merge pull request #6947 from ThomasWaldmann/update-changes-master
update CHANGES
2022-08-07 19:03:25 +02:00
Thomas Waldmann 97ec8a819d update CHANGES 2022-08-07 18:40:20 +02:00
TW 7b2be94262
Merge pull request #6949 from ThomasWaldmann/fix-ctrl-c-remote-repo-master
ctrl-c must not kill important subprocesses, fixes #6912
2022-08-07 18:35:45 +02:00
mh4ckt3mh4ckt1c4s cd27313693 Changed structure schema to odg format 2022-08-07 00:55:22 +02:00
mh4ckt3mh4ckt1c4s 085b244bb7 Removed object-graph.vdg and added 'simplified' mention in schema 2022-08-07 00:25:31 +02:00
KN4CK3R 00aca33ba6
Forwardport: repository: add debug logging for issue (#6918) (#6946)
repository: add debug logging for issue #6687
2022-08-06 23:38:30 +02:00
Thomas Waldmann 4d570497be ctrl-c must not kill other subprocesses, fixes #6912
There are some other places with subprocesses:

- borg create --content-from-command
- borg create --paths-from-command
- (de)compression filter process of import-tar / export-tar
2022-08-06 23:37:38 +02:00
TW 9f0050d409
Merge pull request #6948 from ThomasWaldmann/fix-versionpy-format-master
_version.py: remove trailing blank, add LF at EOF
2022-08-06 23:36:51 +02:00
Thomas Waldmann 0ab82d57e4 ctrl-c must not kill the ssh subprocess, fixes #6912 2022-08-06 23:27:00 +02:00
Thomas Waldmann b9cdeaaa20 _version.py: remove trailing blank, add LF at EOF 2022-08-06 23:19:34 +02:00
TW 76ef20105f
Merge pull request #6941 from ThomasWaldmann/archive-items-indirect
massively increase archive metadata stream size limit, fixes #1473
2022-08-06 22:46:23 +02:00
Thomas Waldmann fb74fdb710 massively increase per archive metadata stream size limit, fixes #1473
implemented by introducing one level of indirection, the limit is now
very high, so it is not practically relevant any more.

we always use the indirection (storing the metadata stream chunk ids list not
directly into the archive item, but into some repo objects referenced by the new
ArchiveItem.item_ptrs list).

thus, the code behaves the same for all archive sizes.
2022-08-06 19:01:41 +02:00
mh4ckt3mh4ckt1c4s 7ed3fad470 Updated object-graph to an odg file 2022-08-06 11:32:32 +02:00
mh4ckt3mh4ckt1c4s 2c29da2553 Fix duplicate object in borg-data-flow graph 2022-08-06 10:53:13 +02:00
mh4ckt3mh4ckt1c4s 1716502cff Some visual fixes 2022-08-06 02:28:51 +02:00
mh4ckt3mh4ckt1c4s dcc7fba2e5 Updated borg-data-flow to an odg file 2022-08-06 02:18:38 +02:00
TW 02580c09ea
Merge pull request #6935 from ThomasWaldmann/mkstemp_mode-master
use a custom mkstemp with mode support, fixes #6933, fixes #6400
2022-08-05 13:04:37 +02:00
TW fecabc8215
Merge pull request #6938 from ThomasWaldmann/fix-warnings2-master
make setuptools happy, fixes #6874 (try 2, same as in 1.2-maint)
2022-08-04 18:23:46 +02:00
Thomas Waldmann 449b02742f make setuptools happy, fixes #6874 (try 2, same as in 1.2-maint)
work around setuptools puking about:

          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'borg.cache_sync' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'borg.cache_sync' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'borg.cache_sync' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.
2022-08-04 17:18:23 +02:00
Thomas Waldmann 52c47bd546 use a custom mkstemp with mode support, fixes #6933, fixes #6400
hopefully this is the final fix.

after first fixing of #6400 (by using os.umask after mkstemp), there
was a new problem that chmod was not supported on some fs.

even after fixing that, there were other issues, see the ACLs issue
documented in #6933.

the root cause of all this is tempfile.mkstemp internally using a
very secure, but hardcoded and for our use case problematic mode
of 0o600.

mkstemp_mode (mosty copy&paste from python stdlib tempfile module +
"black" formatting applied) supports giving the mode via the api,
that is the only change needed.

slightly dirty due to the _xxx imports from tempfile, but hopefully
this will be supported in some future python version.
2022-08-04 14:41:00 +02:00
TW 99c72c5f75
Merge pull request #6934 from ThomasWaldmann/fix-warnings-master
Fix warnings (master)
2022-08-04 14:08:30 +02:00