A bitbucket server helper for working with lots of repos.
Project description
#bitbucket-helper
A command-line utility for working with lots of bitbucket server projects and repositories.
The helper allows you to clone or pull every bitbucket repository you have access too. Repositories are pathed under their parent project, making it easy to identify the source project.
Installation
The utility requires python3.7
pip install bitbucket-helper
Setup
The first time you attempt to sync, you will get prompted to provide your bitbucket details. The tool supports both Bitbucket server and Bitbucket cloud.
Bitbucket server requires a read-only personal access token. To generate go to Bitbucket -> Manage account -> Personal Access Tokens.
Bickbucket cloud requires an App Password if you use 2FA. The App must be granted Team Membership -> Read, Projects -> Read
All configuration settings get stored in ~/.bitbucket-helper.config. To reconfigure you can delete this file.
Listing Repositories
You can list all of the repositories you have permission to access with:
bitbucket-helper list
The command outputs the following quoted comma-separated values:
"project_key","clone_uri"
Synchronising
The synchronisation function uses bitbucket APIs to get all accessible projects and repositories.
For each project, it will create a directory using its key. For each repository, we perform a git clone or a git pull if we already have a local copy. After the pull, we prune and delete local branches that have been merged at the origin.
Local directory structure:
- working_directory (~/bitbucket)
- proj1
- repo1
- repo2
- proj2
- repo1
- repo2
- proj1
bitbucket-helper sync
Git log commands
Bitbucket helper makes it easy to search for commits across all of your repositories using simple filters. Log commands operate on locally synched repositories, so remember to do a bitbucket-helper sync first.
You can find all commits after a specified date using:
bitbucket-helper log --after=2020-03-02
To search from commits between two tags:
bitbucket-helper log --from_tag=1.9.0 --to_tag=1.9.1
The command outputs the following quoted comma-separated values:
"repo","commit_hash","unix_time","iso_date","commit_message","author"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bitbucket-helper-0.0.6.tar.gz.
File metadata
- Download URL: bitbucket-helper-0.0.6.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88952d9b05177c41cb08ffcd4826a7ad70dcb74f51d18603d1d8300b20e24502
|
|
| MD5 |
df30b242e45359f28290ed34c014597c
|
|
| BLAKE2b-256 |
ee8d20c1b37f9c74c8914a7da690ca98609f7208f226e33e8b2545bc55d67713
|
File details
Details for the file bitbucket_helper-0.0.6-py3-none-any.whl.
File metadata
- Download URL: bitbucket_helper-0.0.6-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6041ae1841792d73802bec42ccff9d9903faf7f91e5334d48f92c32adecc2ee2
|
|
| MD5 |
da41f6e7fb7ede71064990dc7b32ca37
|
|
| BLAKE2b-256 |
8b726cedb5b6e0113b7b1ce5e8f0fa2047cef28ba8386de7dfc53608e3772548
|