github-backup 0.53.0__tar.gz → 0.54.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {github_backup-0.53.0 → github_backup-0.54.0}/CHANGES.rst +16 -1
- {github_backup-0.53.0/github_backup.egg-info → github_backup-0.54.0}/PKG-INFO +26 -2
- {github_backup-0.53.0 → github_backup-0.54.0}/README +25 -1
- {github_backup-0.53.0 → github_backup-0.54.0}/README.rst +25 -1
- {github_backup-0.53.0 → github_backup-0.54.0}/bin/github-backup +14 -3
- github_backup-0.54.0/github_backup/__init__.py +1 -0
- {github_backup-0.53.0 → github_backup-0.54.0/github_backup.egg-info}/PKG-INFO +26 -2
- github_backup-0.53.0/github_backup/__init__.py +0 -1
- {github_backup-0.53.0 → github_backup-0.54.0}/LICENSE.txt +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/MANIFEST.in +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/github_backup/github_backup.py +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/github_backup.egg-info/SOURCES.txt +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/github_backup.egg-info/dependency_links.txt +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/github_backup.egg-info/top_level.txt +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/github_backup.egg-info/zip-safe +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/release-requirements.txt +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/requirements.txt +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/setup.cfg +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/setup.py +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/tests/test_attachments.py +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/tests/test_http_451.py +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/tests/test_json_dump_if_changed.py +0 -0
- {github_backup-0.53.0 → github_backup-0.54.0}/tests/test_pagination.py +0 -0
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
0.
|
|
4
|
+
0.54.0 (2025-12-03)
|
|
5
5
|
-------------------
|
|
6
6
|
------------------------
|
|
7
7
|
|
|
8
|
+
Fix
|
|
9
|
+
~~~
|
|
10
|
+
- Send INFO/DEBUG to stdout, WARNING/ERROR to stderr. [Rodos]
|
|
11
|
+
|
|
12
|
+
Fixes #182
|
|
13
|
+
|
|
14
|
+
Other
|
|
15
|
+
~~~~~
|
|
16
|
+
- Docs: update README testing section and add fetch vs pull explanation.
|
|
17
|
+
[Rodos]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
0.53.0 (2025-11-30)
|
|
21
|
+
-------------------
|
|
22
|
+
|
|
8
23
|
Fix
|
|
9
24
|
~~~
|
|
10
25
|
- Case-sensitive username filtering causing silent backup failures.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: github-backup
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.54.0
|
|
4
4
|
Summary: backup a github user or organization
|
|
5
5
|
Home-page: http://github.com/josegonzalez/python-github-backup
|
|
6
6
|
Author: Jose Diaz-Gonzalez
|
|
@@ -338,6 +338,25 @@ Skip existing on incomplete backups
|
|
|
338
338
|
The ``--skip-existing`` argument will skip a backup if the directory already exists, even if the backup in that directory failed (perhaps due to a blocking error). This may result in unexpected missing data in a regular backup.
|
|
339
339
|
|
|
340
340
|
|
|
341
|
+
Updates use fetch, not pull
|
|
342
|
+
---------------------------
|
|
343
|
+
|
|
344
|
+
When updating an existing repository backup, ``github-backup`` uses ``git fetch`` rather than ``git pull``. This is intentional - a backup tool should reliably download data without risk of failure. Using ``git pull`` would require handling merge conflicts, which adds complexity and could cause backups to fail unexpectedly.
|
|
345
|
+
|
|
346
|
+
With fetch, **all branches and commits are downloaded** safely into remote-tracking branches. The working directory files won't change, but your backup is complete.
|
|
347
|
+
|
|
348
|
+
If you look at files directly (e.g., ``cat README.md``), you'll see the old content. The new data is in the remote-tracking branches (confusingly named "remote" but stored locally). To view or use the latest files::
|
|
349
|
+
|
|
350
|
+
git show origin/main:README.md # view a file
|
|
351
|
+
git merge origin/main # update working directory
|
|
352
|
+
|
|
353
|
+
All branches are backed up as remote refs (``origin/main``, ``origin/feature-branch``, etc.).
|
|
354
|
+
|
|
355
|
+
If you want to browse files directly without merging, consider using ``--bare`` which skips the working directory entirely - the backup is just the git data.
|
|
356
|
+
|
|
357
|
+
See `#269 <https://github.com/josegonzalez/python-github-backup/issues/269>`_ for more discussion.
|
|
358
|
+
|
|
359
|
+
|
|
341
360
|
Github Backup Examples
|
|
342
361
|
======================
|
|
343
362
|
|
|
@@ -387,7 +406,12 @@ A huge thanks to all the contibuters!
|
|
|
387
406
|
Testing
|
|
388
407
|
-------
|
|
389
408
|
|
|
390
|
-
|
|
409
|
+
To run the test suite::
|
|
410
|
+
|
|
411
|
+
pip install pytest
|
|
412
|
+
pytest
|
|
413
|
+
|
|
414
|
+
To run linting::
|
|
391
415
|
|
|
392
416
|
pip install flake8
|
|
393
417
|
flake8 --ignore=E501
|
|
@@ -308,6 +308,25 @@ Skip existing on incomplete backups
|
|
|
308
308
|
The ``--skip-existing`` argument will skip a backup if the directory already exists, even if the backup in that directory failed (perhaps due to a blocking error). This may result in unexpected missing data in a regular backup.
|
|
309
309
|
|
|
310
310
|
|
|
311
|
+
Updates use fetch, not pull
|
|
312
|
+
---------------------------
|
|
313
|
+
|
|
314
|
+
When updating an existing repository backup, ``github-backup`` uses ``git fetch`` rather than ``git pull``. This is intentional - a backup tool should reliably download data without risk of failure. Using ``git pull`` would require handling merge conflicts, which adds complexity and could cause backups to fail unexpectedly.
|
|
315
|
+
|
|
316
|
+
With fetch, **all branches and commits are downloaded** safely into remote-tracking branches. The working directory files won't change, but your backup is complete.
|
|
317
|
+
|
|
318
|
+
If you look at files directly (e.g., ``cat README.md``), you'll see the old content. The new data is in the remote-tracking branches (confusingly named "remote" but stored locally). To view or use the latest files::
|
|
319
|
+
|
|
320
|
+
git show origin/main:README.md # view a file
|
|
321
|
+
git merge origin/main # update working directory
|
|
322
|
+
|
|
323
|
+
All branches are backed up as remote refs (``origin/main``, ``origin/feature-branch``, etc.).
|
|
324
|
+
|
|
325
|
+
If you want to browse files directly without merging, consider using ``--bare`` which skips the working directory entirely - the backup is just the git data.
|
|
326
|
+
|
|
327
|
+
See `#269 <https://github.com/josegonzalez/python-github-backup/issues/269>`_ for more discussion.
|
|
328
|
+
|
|
329
|
+
|
|
311
330
|
Github Backup Examples
|
|
312
331
|
======================
|
|
313
332
|
|
|
@@ -357,7 +376,12 @@ A huge thanks to all the contibuters!
|
|
|
357
376
|
Testing
|
|
358
377
|
-------
|
|
359
378
|
|
|
360
|
-
|
|
379
|
+
To run the test suite::
|
|
380
|
+
|
|
381
|
+
pip install pytest
|
|
382
|
+
pytest
|
|
383
|
+
|
|
384
|
+
To run linting::
|
|
361
385
|
|
|
362
386
|
pip install flake8
|
|
363
387
|
flake8 --ignore=E501
|
|
@@ -308,6 +308,25 @@ Skip existing on incomplete backups
|
|
|
308
308
|
The ``--skip-existing`` argument will skip a backup if the directory already exists, even if the backup in that directory failed (perhaps due to a blocking error). This may result in unexpected missing data in a regular backup.
|
|
309
309
|
|
|
310
310
|
|
|
311
|
+
Updates use fetch, not pull
|
|
312
|
+
---------------------------
|
|
313
|
+
|
|
314
|
+
When updating an existing repository backup, ``github-backup`` uses ``git fetch`` rather than ``git pull``. This is intentional - a backup tool should reliably download data without risk of failure. Using ``git pull`` would require handling merge conflicts, which adds complexity and could cause backups to fail unexpectedly.
|
|
315
|
+
|
|
316
|
+
With fetch, **all branches and commits are downloaded** safely into remote-tracking branches. The working directory files won't change, but your backup is complete.
|
|
317
|
+
|
|
318
|
+
If you look at files directly (e.g., ``cat README.md``), you'll see the old content. The new data is in the remote-tracking branches (confusingly named "remote" but stored locally). To view or use the latest files::
|
|
319
|
+
|
|
320
|
+
git show origin/main:README.md # view a file
|
|
321
|
+
git merge origin/main # update working directory
|
|
322
|
+
|
|
323
|
+
All branches are backed up as remote refs (``origin/main``, ``origin/feature-branch``, etc.).
|
|
324
|
+
|
|
325
|
+
If you want to browse files directly without merging, consider using ``--bare`` which skips the working directory entirely - the backup is just the git data.
|
|
326
|
+
|
|
327
|
+
See `#269 <https://github.com/josegonzalez/python-github-backup/issues/269>`_ for more discussion.
|
|
328
|
+
|
|
329
|
+
|
|
311
330
|
Github Backup Examples
|
|
312
331
|
======================
|
|
313
332
|
|
|
@@ -357,7 +376,12 @@ A huge thanks to all the contibuters!
|
|
|
357
376
|
Testing
|
|
358
377
|
-------
|
|
359
378
|
|
|
360
|
-
|
|
379
|
+
To run the test suite::
|
|
380
|
+
|
|
381
|
+
pip install pytest
|
|
382
|
+
pytest
|
|
383
|
+
|
|
384
|
+
To run linting::
|
|
361
385
|
|
|
362
386
|
pip install flake8
|
|
363
387
|
flake8 --ignore=E501
|
|
@@ -16,12 +16,23 @@ from github_backup.github_backup import (
|
|
|
16
16
|
retrieve_repositories,
|
|
17
17
|
)
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
# INFO and DEBUG go to stdout, WARNING and above go to stderr
|
|
20
|
+
log_format = logging.Formatter(
|
|
21
|
+
fmt="%(asctime)s.%(msecs)03d: %(message)s",
|
|
21
22
|
datefmt="%Y-%m-%dT%H:%M:%S",
|
|
22
|
-
level=logging.INFO,
|
|
23
23
|
)
|
|
24
24
|
|
|
25
|
+
stdout_handler = logging.StreamHandler(sys.stdout)
|
|
26
|
+
stdout_handler.setLevel(logging.DEBUG)
|
|
27
|
+
stdout_handler.addFilter(lambda r: r.levelno < logging.WARNING)
|
|
28
|
+
stdout_handler.setFormatter(log_format)
|
|
29
|
+
|
|
30
|
+
stderr_handler = logging.StreamHandler(sys.stderr)
|
|
31
|
+
stderr_handler.setLevel(logging.WARNING)
|
|
32
|
+
stderr_handler.setFormatter(log_format)
|
|
33
|
+
|
|
34
|
+
logging.basicConfig(level=logging.INFO, handlers=[stdout_handler, stderr_handler])
|
|
35
|
+
|
|
25
36
|
|
|
26
37
|
def main():
|
|
27
38
|
args = parse_args()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.54.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: github-backup
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.54.0
|
|
4
4
|
Summary: backup a github user or organization
|
|
5
5
|
Home-page: http://github.com/josegonzalez/python-github-backup
|
|
6
6
|
Author: Jose Diaz-Gonzalez
|
|
@@ -338,6 +338,25 @@ Skip existing on incomplete backups
|
|
|
338
338
|
The ``--skip-existing`` argument will skip a backup if the directory already exists, even if the backup in that directory failed (perhaps due to a blocking error). This may result in unexpected missing data in a regular backup.
|
|
339
339
|
|
|
340
340
|
|
|
341
|
+
Updates use fetch, not pull
|
|
342
|
+
---------------------------
|
|
343
|
+
|
|
344
|
+
When updating an existing repository backup, ``github-backup`` uses ``git fetch`` rather than ``git pull``. This is intentional - a backup tool should reliably download data without risk of failure. Using ``git pull`` would require handling merge conflicts, which adds complexity and could cause backups to fail unexpectedly.
|
|
345
|
+
|
|
346
|
+
With fetch, **all branches and commits are downloaded** safely into remote-tracking branches. The working directory files won't change, but your backup is complete.
|
|
347
|
+
|
|
348
|
+
If you look at files directly (e.g., ``cat README.md``), you'll see the old content. The new data is in the remote-tracking branches (confusingly named "remote" but stored locally). To view or use the latest files::
|
|
349
|
+
|
|
350
|
+
git show origin/main:README.md # view a file
|
|
351
|
+
git merge origin/main # update working directory
|
|
352
|
+
|
|
353
|
+
All branches are backed up as remote refs (``origin/main``, ``origin/feature-branch``, etc.).
|
|
354
|
+
|
|
355
|
+
If you want to browse files directly without merging, consider using ``--bare`` which skips the working directory entirely - the backup is just the git data.
|
|
356
|
+
|
|
357
|
+
See `#269 <https://github.com/josegonzalez/python-github-backup/issues/269>`_ for more discussion.
|
|
358
|
+
|
|
359
|
+
|
|
341
360
|
Github Backup Examples
|
|
342
361
|
======================
|
|
343
362
|
|
|
@@ -387,7 +406,12 @@ A huge thanks to all the contibuters!
|
|
|
387
406
|
Testing
|
|
388
407
|
-------
|
|
389
408
|
|
|
390
|
-
|
|
409
|
+
To run the test suite::
|
|
410
|
+
|
|
411
|
+
pip install pytest
|
|
412
|
+
pytest
|
|
413
|
+
|
|
414
|
+
To run linting::
|
|
391
415
|
|
|
392
416
|
pip install flake8
|
|
393
417
|
flake8 --ignore=E501
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.53.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|