Git exploration utilities for xonsh.
Project description
xontrib-xgit
An xonsh command-line environment for exploring git repositories and histories. With xgit, you seamlessly blend displayed information and pythonic data manipulation, in the powerful python-native xonsh shell.
This provides a set of commands that return objects for both display and pythonic manipulation.
If you like the idea click ⭐ on the repo and tweet.
Installation
To install use xpip:
xpip install xontrib-xgit
# or: xpip install -U git+https://github.com/BobKerns/xontrib-xgit
Usage
xontrib load xgit
Commands
git-cd
(Command)
git-cd
[_path_
]`
Update the git working directory (and the process working directory if the directory exists in the worktree).
If path is in a different worktree or repository, it will switch automatically to that worktree and repository.
With no arguments, returns to the root of the current repository.
git-pwd
(Command)
Print information about the current git context, including:
repository
; Repository path per worktreecommon
: Repository common pathworktree
: Worktree root pathgit_path
: Path within the repositorybranch
: Current Branchcommit
: Current commitcwd
: Working directory (whatpwd
would print)
This just returns (and displays) the XGIT
variable if it is not None
. In scripts you can just reference this variable directly.
XGIT
(Variable)
The current GitContext
. This is the same as the value returned from the git-pwd
command.
It will be None
when not inside a git worktree or repository.
XGIT_CONTEXTS
(Variable)
A dictionary of GitContext
objects, one for every worktree or repository we have visited.
This allows one to switch between repositories without losing context.
git-ls
(Command)
This returns the directory as an object which can be accessed from the python REPL:
>>> git-ls
_3: GitTree(c000f7a0a713b405fe0de6531fdbdfff3ff65d38)[7]
- 569f95766c26158241a665763c76b93b103538b9 3207 .gitignore
D 46b57ab337456176669e75513dbe0f5eeca38a22 1 .vscode
- a3990ed1209000756420fae0ee6386e051204a60 1066 LICENSE
- 505d8917cd9697185e30bb79238be4d84d02693e 50 README.md
D 6f0c75cd8b53eeb83198dd5c6caea5361a240e20 2 bstring
- 16494e4075e5cc44c5a928c7a325b8bc7bf552d5 23 requirements.txt
D 05433255eddde7d3261f07a45b857374e6087278 10 xontrib-xgit
>>> _['README.md']
GitFile(- 505d8917cd9697185e30bb79238be4d84d02693e 50)
>>> _.hash
'505d8917cd9697185e30bb79238be4d84d02693e'
git_ls (Function)
The functional version of the git-ls
command.
git_ls('xontrib-xgit')
Credits
This package was created with xontrib template.
Xontrib Promotion (DO and REMOVE THIS SECTION)
-
✅ Check that your repository name starts from
xontrib-
prefix. It helps Github search find it. -
✅ Add
xonsh
,xontrib
and other thematic topics to the repository "About" setting. -
✅ Add preview image in "Settings" - "Options" - "Social preview". It allows to show preview image in Github Topics and social networks e.g. Twitter.
-
✅ Enable "Sponsorship" in "Settings" - "Features" - Check "Sponsorships".
-
Add xontrib to the awesome-xontribs.
-
✅ Publish your xontrib to PyPi via Github Actions and users can install your xontrib via
xpip install xontrib-myxontrib
. Easiest way to achieve it is to use Github Actions. Register to https://pypi.org/ and create API token. Go to repository "Settings" - "Secrets" and your PyPI API token asPYPI_API_TOKEN
as a "Repository Secret". Now when you create new Release the Github Actions will publish the xontrib to PyPi automatically. Release status will be in Actions section. See also.github/workflows/release.yml
. -
Write a message to:
Project details
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
File details
Details for the file xontrib_xgit-0.0.2.tar.gz
.
File metadata
- Download URL: xontrib_xgit-0.0.2.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f30a359da8aa22e704918c7dcd0ee013c3e055a446c97b092cf6a7d88fdc640 |
|
MD5 | 0b4c12f3114afe22c98a6e87d63e5f21 |
|
BLAKE2b-256 | c484514dceb78e45432fbabdd5e2cdc408915dd66d7c06c7ba75b63060d193a0 |
File details
Details for the file xontrib_xgit-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: xontrib_xgit-0.0.2-py3-none-any.whl
- Upload date:
- Size: 19.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4baec455a9243e0f06d60d547e211d5ed418f23acefdc167ec084d483263391 |
|
MD5 | a3c30b7c65fb74217a2007e3c0594e27 |
|
BLAKE2b-256 | a30bf34fb91a6639fc7135b9b5cd1ca9f5c0ee564844d33bb4f359f2431c910b |