To install the unreleased vcspull version, see developmental releases.
pip:
$ pip install --user --upgrade --pre vcspull
pipx:
$ pipx install --suffix=@next 'vcspull' --pip-args '\--pre' --force
// Usage: vcspull@next sync [config]
- Add your latest changes from PRs here
-
Config location uses
XDG_CONFIG_HOME
from XDG Base Directory, ({issue}#367
).Old path:
~/.vcspull
New path:
XDG_CONFIG_HOME
, usually~/.config/vcspull
-
Override config directory via
VCSPULL_CONFIGDIR
({issue}#367
) -
Switch from
str
topathlib.Path
({issue}#364
)
-
Allow click 8.1.x ({issue}
#372
) -
vcspull learned
-h
for help (thanks HN 2022-04-11) -
Python 3.7 and 3.8 dropped (#356)
Branch
v1.11.x
opened for security / bug fixes. -
--version
learned to show libvcs version -
--version
learned to accept the-V
flag -
vcspull sync
accepts config file params via--config
. Before it was only-c
. Assume myrepos.yaml in your path:$ vcspull sync --config myrepos.yaml
- Publish to PyPI via CI when git tags are pushed
- Sidebar reorganized into sections
- Added documentation on fetching developmental releases of libtmux
-
vcspull sync
accepts config file params via--config
. Before it was only-c
. Assume myrepos.yaml in your path:$ vcspull sync --config myrepos.yaml
(backport from vcspull v1.12.0b22)
- Allow click 8.1.x (backport of {issue}
#372
)
- vcspull learned
-h
for help (thanks HN 2022-04-11) - vcspull learned
-V
for version - vcspull shows libvcs version with
-V
/--version
- Tab-completion for repository names and configurations
- Update libvcs 0.11.0 -> 0.11.1 to patch CVE-2022-21187: mercurial URL injection vulnerability with URLs arguments (libvcs#306)
- Run pyupgrade formatting (#353)
- Tests: Move from pytest
tmp_dir
(py.path.local
) totmp_path
(pathlib.Path
)
- Move to furo theme
- Root:
make start_docs
,make design_docs
- docs/:
make start
,make design
- CLI moved from
cli.py
->cli/__init__.py
,cli/sync.py
- CLI: Default groups removed
- Updates for
vcspull sync
changed in 1.10.0
-
Sync through
vcspull sync
Syncing is no longer ran by default when
vcspull
is typed
-
Experimental completion, see {ref}
completion
:-
Completion for sync:
vcspull sync <tab>
vcspull sync -c <tab> <tab>
-
- Added {ref}
completion
:
- Drop Python 3.6 (#329)
- Add Python 3.10 (#329)
✨ Renewed
-
GitLab config importer example script, credit @aschleifer (#336, #337, #341)
These are hosted on the new config generation page.
-
Rename
examples
page toconfiguration
-
Theme has been moved to furo
-
Broken URLs have ben fixed
-
Added copy paste button next to code snippets
-
Inline tab examples for configuration and config generators
- CI: Use poetry 1.1.12 and new
install-poetry.py
install location (#329)
- Update libvcs 0.10.0 to 0.10.1
- #313: Update poetry to 1.1
- CI: Use poetry 1.1.7 and
install-poetry.py
installer - Relock poetry.lock at 1.1 (w/ 1.1.7's fix)
- CI: Use poetry 1.1.7 and
- #277: Convert to markdown
- Update libvcs to 0.10.0
- Fix image in README
- #308: Update to libtmux 0.9.0 (python 3.6+ only)
- Remove some python 2.7 compat imports
- #307: Drop python 2.7
- #304, #299 (tests) - Fix adding of remotes
- #303 - Overhaul docs and packaging
- #303 - Add docs for CLI via sphinx-click
- Bump libvcs to 0.4.4
- Bump libvcs to 0.4.3, fix issue with updating branches that have special characters (e.g. hyphens)
- Bump libvcs to 0.4.2, fixes issues with checking out branches where branch doesn't exist upstream
- :issue:
300
Update libvcs to 0.4.0, also fixes :issue:298
issue on initial checkout - :issue:
301
Move from Travis to GitHub Actions
- :issue:
231
Add updating / merging of remote URLs (via PR :issue:297
) - Fix colorama constraint
- poetry lockfile: Fix (accidentally pushed lockfile via prerelease version of poetry)
- Fix pyproject.toml libvcs pin
- Fix pyproject.toml release version
- Fixes to contribution docs
- :issue:
257
- Move from Pipfile to poetry - Removed dependency on releases for CHANGES, use plain reStructuredText for now
- Loosen constraints for colorama
- Update click to 7/8
- Add
project_urls
to setup.py
-
Sort imports
-
Add isort package, isort configuration in setup.cfg, and
make isort
task to Makefile. -
Add
make sync_pipfile
for updating Pipfile dependencies against requirements/*.txt files. -
Update Pipfile
-
Package updates
Base / Core dependencies:
- kaptan: 0.5.9 to >=0.5.9,<1 (adds Python 3.7 compatibility)
- pyyaml: >=3.12,<4 (adds Python 3.7 compatibility)
Docs:
- sphinx: 1.7.1 to 1.7.5
- alagitpull: 0.0.19 to 0.0.21
- releases: 1.4.0 to 1.7.1
Testing:
- pytest: 3.4.2 to 3.6.3
- Move to new organization, vcs-python
- Fix a bug in libvcs that prevented syncing on Ubuntu 18.04 LTS beta.
- Update libvcs to 0.3.0
- Various package updates for support infrastructure, including pytest and sphinx
- Update more documentation domain at vcspull.git-pull.com
- Update to new documentation domain at vcspull.git-pull.com
- Fix travis tests via
pip install -u mock
in.travis.yaml
.
- :issue:
43
- fix missing test dependency on anaconda by updating libvcs - README tweaks
- :issue:
41
Transition useslibvcs
_ backend - :issue:
41
Transition tests from unittest to pytest - :issue:
40
Major API refactorings and removal of unused code, see the api reference for more. - :issue:
38
Improve SVN and git support, thanks@jcfr
! - :issue:
35
Don't run mercurial tests ifhg(1)
missing, by@jcfr
- :issue:
36
, :issue:37
Documentation updates from@jcfr
- :issue:
34
Fix missing mock library, thanks@jfcr
- [cli] [internal]: command line arg parsing now uses click library.
- [cli] vcspull will use the beginning part of the argument to determine if its searching by vcs URL, repository name or system path.
- [config]
repo
(the longform for the vcs url) is nowurl
. - [config] [internal] repos are now passed around in a list of
:py:mod:
dict
. :class:vcspull.config.expand_config
has been simplified. - [internal] flake8 and sort imports
- [internal] [dev] Add
Makefile
forwatch_test
(re-running tests on file change),watch_flake
(re-running flake8 check on changes) - [internal] [dev] Move
.tmuxp.yaml
commands to use Makefile - [internal] [dev] split up requirements into
requirements/
folder. - Drop Python 2.6 support
- [internal]
find_config
renamed tofind_config_files
. - Rename
get_repos
tofilter_repos
, simplify argument signature. - [cli] Experimental support for concurrently synchroniznig repos via
:py:mod:
multiprocessing
. - [api][internal]: Refactor :class:
vcspull.repo.Repo
factory class into :func:vcspull.repo.create_repo
. - [internal]: major internal cleanup of dead code, pep8 style updates.
- [git] [tests]: fix git+https remotes #14, add regression tests.
- [internal]: devendorize colorama
- [internal] [tests]: handle
ERROR
in git cloning, add tests. Fixes cases likeERROR: Repository not found
.
- [api] Change the API of :class:
vcspull.repo.base.BaseRepo
and :class:vcspull.repo.Repo
to accept arguments askwargs
- [api]: Rename
parent_path
tocwd
. - [docs]: Pydoc documentation for
Repo
usage. - [docs]: Python API example
- [testing] Fix sniffer on Python 3
- [cli] remove redundant message when adding remotes
- [docs] add animated screencast preview for ReadTheDocs and README.rst
- [cli]: support for specifying for config file path with
-c
. - [cli]: clarify error output when no repositories found
- [cli]: fix message when adding remotes
- [internals]: split config-related functions into
config
module. - [tests]: consolidate tests from
testsuite.cli
intotestsuite.config
. - [tests]: remove stub TestSuites insite of
cli
tests. - [tests]: Refactor helpers. Tests should now run much faster.
- [cli]: vcspull now checks for configs in
~/.vcspull
(yaml and json files) as well as the standard~/.vcspull.{yaml,json}
files.
- [internals]: move to
__about__.py
convention for pulling package data. - [internals]: remove extraneous url from stdout in git repositories.
- [dev]: support for tmuxp
before_script
to set up local virtualenv + dependencies. - [dev]: Clean up
__init__.py
imports - [internals]: move :meth:
update
to :meth:update_dict
inutils
. - [cli]:
-d
/--dirmatch
for matching directories, accepts fnmatch's. - [cli]:
-r
/--repomatch
for matching directories, accepts fnmatch's. - [cli]:
-c
/--config
YAML / JSON file of repositories - [config/vcs]: Exception for private / ssh GitHub repository URLs and message to change to correct format.
- [docs]: Update docs to reflect updates on new commands and how to clone private / priveleged GitHub repos.
- [cli] Update documentation when no config found to show
yaml
andjson
. Remove mentioning ofconf
.
- [logging] #6 - fix issue where log templates would not concatenate correctly.
- [packaging] Fix issue where
package_metadata.py
missing fromMANIFEST.in
.
- [setup.py] remove history from readme
- Use werkzeug/flask style unit test suites.
- [docs] Fix section headings.
- [internals] use conventions from tony/cookiecutter-pypackage.
vcspull 0.0.7 (2014-01-07)
- New logging system from pypa/pip with support showing current stderr (checkout, pull, cloning) progress.
unicode_literals
,__future__
for python 3 support.
- Renamed to
vcspull
.
- [tests] tests for loading multiple configs, config conflict cases
- [internal] fix recursive imports, using explicit importing
- [git] handle cli case where git is on a different branch, just fetch repo.
- [py3] python 3 support
- [svn] [git] [hg] added functionality for pip's netloc and vcs functionality.
- [docs] update license docs for methods from salt (apache) and pip (mit).
- [cli] autocomplete
- [config] [tests] Support for expanding environment variables in syntax
with
${envvar}
and~
. - [cli] Exit with
Ctrl-C
gracefully.
- [docs] [examples] more docs and examples
- [internal] remove developer logger message that would show when updating.
- [cli] - fixed bug where logger would output message twice
- [
pep257
] [pep8
] [logger] updatevcspull.log
module to latest code (fromtmuxp
_ project).
- [tests] Move tests for making directory paths to
test_repo
TestSuite. - [tests] [git] more work on remotes with :class:
vcspull.repo.git.GitRepo
.
- [tests] refactor tests modules
- [git] add some functions with saltstack to
:py:class:
vcspull.repo.git.GitRepo
. - [version] reset to 0.1.0 w/o dev tag to begin releases.
- [cli] [tests] #1 for making directories recursively.
- [tests] :py:mod:
tempfile
. - [cli] [config] remove .ini support
- pep257 to all modules.
- Add argcomplete
- Move in code patterns from tmuxp. New logger, setup.py, testsuite structure, etc.
- add example
- fix packaging issue, add MANIFEST.in
- bump to 0.1.1
- move to semver
- https://github.com/vcs-python/vcspull/compare/a96e723269...a5be723de5
- remove virtualenv dep [Done]
- remove pip dep [Done]
- logging for repo obtain/update/makedir/rev [Done]
- logging.notify with alternative format [Done]
- removed salt-specific code used for Popen (https://github.com/vcs-python/vcspull/commit/67dbb793e7)