batchfetch 1.3.8__tar.gz → 1.3.9__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.
@@ -0,0 +1 @@
1
+ github: jamescherti
@@ -0,0 +1,138 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
98
+ __pypackages__/
99
+
100
+ # Celery stuff
101
+ celerybeat-schedule
102
+ celerybeat.pid
103
+
104
+ # SageMath parsed files
105
+ *.sage.py
106
+
107
+ # Environments
108
+ .env
109
+ .venv
110
+ env/
111
+ venv/
112
+ ENV/
113
+ env.bak/
114
+ venv.bak/
115
+
116
+ # Spyder project settings
117
+ .spyderproject
118
+ .spyproject
119
+
120
+ # Rope project settings
121
+ .ropeproject
122
+
123
+ # mkdocs documentation
124
+ /site
125
+
126
+ # mypy
127
+ .mypy_cache/
128
+ .dmypy.json
129
+ dmypy.json
130
+
131
+ # Pyre type checker
132
+ .pyre/
133
+
134
+ # pytype static type analyzer
135
+ .pytype/
136
+
137
+ # Cython debug symbols
138
+ cython_debug/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: batchfetch
3
- Version: 1.3.8
3
+ Version: 1.3.9
4
4
  Summary: Efficiently clone and pull multiple Git repositories.
5
5
  Home-page: https://github.com/jamescherti/batchfetch
6
6
  Author: James Cherti
@@ -119,7 +119,7 @@ options:
119
119
  ## Features
120
120
 
121
121
  - Git Clone and Fetch/Merge: Clones the repositories and their submodules, ensuring that all the repositories are always up-to-date by fetching and merging changes.
122
- - Parallel Operations: Utilizes threads to simultaneously Git clone or pull multiple repositories, dramatically reducing wait times.
122
+ - Parallel Operations: Uses threads to simultaneously Git clone or pull multiple repositories, reducing wait times.
123
123
  - User-Friendly Interface: Provides simple and straightforward command-line options that make it easy to get started and effectively manage your repositories.
124
124
  - Custom Configuration: Allows the use of a YAML configuration file to specify and manage the repositories you interact with, enabling repeatable setups and consistent environments.
125
125
  - Detect files that should not be present in directories managed by batchfetch, known as untracked files.
@@ -85,7 +85,7 @@ options:
85
85
  ## Features
86
86
 
87
87
  - Git Clone and Fetch/Merge: Clones the repositories and their submodules, ensuring that all the repositories are always up-to-date by fetching and merging changes.
88
- - Parallel Operations: Utilizes threads to simultaneously Git clone or pull multiple repositories, dramatically reducing wait times.
88
+ - Parallel Operations: Uses threads to simultaneously Git clone or pull multiple repositories, reducing wait times.
89
89
  - User-Friendly Interface: Provides simple and straightforward command-line options that make it easy to get started and effectively manage your repositories.
90
90
  - Custom Configuration: Allows the use of a YAML configuration file to specify and manage the repositories you interact with, enabling repeatable setups and consistent environments.
91
91
  - Detect files that should not be present in directories managed by batchfetch, known as untracked files.
@@ -275,6 +275,7 @@ class BatchFetchGit(TaskBatchFetch):
275
275
  except (IndexError, subprocess.CalledProcessError):
276
276
  # Not a symbolic ref
277
277
  self.current_branch = None
278
+ self.is_branch = False
278
279
 
279
280
  if self.current_branch:
280
281
  try:
@@ -525,6 +526,8 @@ class BatchFetchGit(TaskBatchFetch):
525
526
  if self.current_branch != self["revision"]:
526
527
  if is_branch:
527
528
  needs_checkout = True
529
+ elif self.current_branch is not None:
530
+ needs_checkout = True
528
531
  elif git_ref_after_merge != git_ref_branch and \
529
532
  self["revision"] not in git_tags:
530
533
  needs_checkout = True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: batchfetch
3
- Version: 1.3.8
3
+ Version: 1.3.9
4
4
  Summary: Efficiently clone and pull multiple Git repositories.
5
5
  Home-page: https://github.com/jamescherti/batchfetch
6
6
  Author: James Cherti
@@ -119,7 +119,7 @@ options:
119
119
  ## Features
120
120
 
121
121
  - Git Clone and Fetch/Merge: Clones the repositories and their submodules, ensuring that all the repositories are always up-to-date by fetching and merging changes.
122
- - Parallel Operations: Utilizes threads to simultaneously Git clone or pull multiple repositories, dramatically reducing wait times.
122
+ - Parallel Operations: Uses threads to simultaneously Git clone or pull multiple repositories, reducing wait times.
123
123
  - User-Friendly Interface: Provides simple and straightforward command-line options that make it easy to get started and effectively manage your repositories.
124
124
  - Custom Configuration: Allows the use of a YAML configuration file to specify and manage the repositories you interact with, enabling repeatable setups and consistent environments.
125
125
  - Detect files that should not be present in directories managed by batchfetch, known as untracked files.
@@ -1,6 +1,9 @@
1
+ .gitignore
1
2
  LICENSE
2
3
  README.md
4
+ run_tests.sh
3
5
  setup.py
6
+ .github/FUNDING.yml
4
7
  batchfetch/__init__.py
5
8
  batchfetch/batchfetch_base.py
6
9
  batchfetch/batchfetch_cli.py
@@ -12,4 +15,6 @@ batchfetch.egg-info/dependency_links.txt
12
15
  batchfetch.egg-info/entry_points.txt
13
16
  batchfetch.egg-info/requires.txt
14
17
  batchfetch.egg-info/top_level.txt
15
- tests/test_helpers.py
18
+ tests/test_helpers.py
19
+ tests/data/test-md5sum.txt
20
+ tests/data/test-run_simple.sh
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # Copyright (C) 2024-2026 James Cherti
4
+ # URL: https://github.com/jamescherti/batchfetch
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU General Public License as published by the Free Software
8
+ # Foundation, either version 3 of the License, or (at your option) any later
9
+ # version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful, but WITHOUT
12
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
+ # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License along with
16
+ # this program. If not, see <https://www.gnu.org/licenses/>.
17
+ #
18
+ cd "$(dirname "${BASH_SOURCE[0]}")"
19
+ export PYTHONPATH="$(pwd)"
20
+ exec pytest -v -v --cov=batchfetch --cov=tests \
21
+ --cov-report=term \
22
+ --cov-report=html:htmlcov \
23
+ tests/test_*py
@@ -22,7 +22,7 @@ from setuptools import find_packages, setup
22
22
 
23
23
  setup(
24
24
  name="batchfetch",
25
- version="1.3.8",
25
+ version="1.3.9",
26
26
  packages=find_packages(),
27
27
  description="Efficiently clone and pull multiple Git repositories.",
28
28
  license="GPLv3",
@@ -0,0 +1,3 @@
1
+ Test 1.
2
+ Test 2.
3
+ Test 3.
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ cd "$(dirname "${BASH_SOURCE[0]}")"
4
+ cat ./test-md5sum.txt
5
+ cat ./test-md5sum.txt | tail -n 1 >&2
File without changes
File without changes