- Expand paths for user-supplied
--location
strings. This now allows for spaces in paths and proper expansion of home directories (eg:~
)
- Fixes PyGithub pinned version to ensure
Auth
is available
- Corrects the premature URL changes from
v4.1.0
- Restores the previous behavior of using the SSH URL by default
- Adds new
--https
flag that will trigger using theclone_url
instead of the defaultssh_url
NOTE: Please do not use this release! It has been yanked from PyPi
- Swaps the
ssh_url
for theclone_url
when cloning repos to remove the unnecessary reliance on having an SSH key or agent to use this tool - Adds
--version
CLI flag
- Drops support for Python 3.7
- Fixes a bug that would clobber error output, now it will show correctly
- Bumps all dependencies
- Corrects the
git fetch
command to a depth of 1 since we are also shallow cloning repos locally. This should greatly speed up the syncing process for larger repositories since we don't require the entire project tree
- Adds
mypy
type checking
- Use
woodchips
for logging (same behavior as before) - Added Python type hinting and stronger test assertions
- Refactors the git operations behind the tool to no longer spawn a shell process when using the subprocess module. Removed commands to change directories and instead direct all git commands to the correct path at invocation
- Refactors the entire app to use CLI arguments instead of environment variables
- Added a
--force
flag to ensure users don't accidentally blow away their default branches unless they explicitly wanted to. Without passing this flag, the tool will run in "dry mode" - Now restricts the tool to run with 10 threads by default
- Added additional logging
- Drops support for Python 3.6
- Swaps
mock
library for builtinunittest.mock
library - Formats project with
Black
- Removed the
branch
flag and functionality as it was causing issues and inconsistencies when cloning/rebasing and branches didn't match up. This became especially prevelant when repos started changing from master to main. Now, we will retrieve the default branch from the parent repo (upstream) and rebase against that. This ensures consistency and safety - Changed clone depth from 10 to 1
- Renamed project from
Forks
toForks Sync
, usage and command names however were already that and did not change. This brings the documentation and GitHub references inline with the published package - Fixed a bug that would attempt to rebase all your org repos unintentionally, now there are checks to ensure the repo belongs to the same person whose GitHub token is used
- Removed references of
master
branch and replaced withmain
- Added a flag where you can specify the name of your branches (closes #3)
- Switched from Travis CI to GitHub Actions
- Added unit tests and test coverage
- Added a Makefile
- Added a CHANGELOG
- Automated releasing via Travis to PyPi
- Updated documentation
- Changed command line invocation from
forks
toforks-sync
- Refactored the entire codebase to use smaller units
- Bug fixes
- Added logging, log file rollovers
- Initial release