Skip to content

Commit ef2b9c4

Browse files
committed
CHANGES: Add async support entry (#504)
1 parent faa7dd0 commit ef2b9c4

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

CHANGES

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,50 @@ $ uv add libvcs --prerelease allow
2020
_Notes on the upcoming release will go here._
2121
<!-- END PLACEHOLDER - ADD NEW CHANGELOG ENTRIES BELOW THIS LINE -->
2222

23+
### New features
24+
25+
#### Async support (#504)
26+
27+
Add async equivalents for all synchronous APIs, enabling non-blocking VCS operations:
28+
29+
**Command classes** (`libvcs.cmd._async`):
30+
31+
- {class}`~libvcs.cmd._async.git.AsyncGit` - async git commands
32+
- {class}`~libvcs.cmd._async.hg.AsyncHg` - async mercurial commands
33+
- {class}`~libvcs.cmd._async.svn.AsyncSvn` - async subversion commands
34+
35+
**Sync classes** (`libvcs.sync._async`):
36+
37+
- {class}`~libvcs.sync._async.git.AsyncGitSync` - async git repository management
38+
- {class}`~libvcs.sync._async.hg.AsyncHgSync` - async mercurial repository management
39+
- {class}`~libvcs.sync._async.svn.AsyncSvnSync` - async subversion repository management
40+
41+
**Internal utilities**:
42+
43+
- {func}`~libvcs._internal.async_run.async_run` - async command execution with progress callbacks
44+
- {class}`~libvcs._internal.async_subprocess.AsyncSubprocessCommand` - async subprocess wrapper
45+
46+
Example usage:
47+
48+
```python
49+
import asyncio
50+
from libvcs.sync._async.git import AsyncGitSync
51+
52+
async def main():
53+
repo = AsyncGitSync(url="https://github.com/user/repo", path="/tmp/repo")
54+
await repo.obtain() # Clone
55+
await repo.update_repo() # Pull
56+
57+
asyncio.run(main())
58+
```
59+
60+
### pytest plugin
61+
62+
#### pytest_plugin: Add async fixtures (#504)
63+
64+
- Add `async_git_repo`, `async_hg_repo`, `async_svn_repo` fixtures
65+
- Add `asyncio` to `doctest_namespace` for async doctests
66+
2367
## libvcs 0.40.0 (2026-04-25)
2468

2569
### What's new

0 commit comments

Comments
 (0)