libvcs icon indicating copy to clipboard operation
libvcs copied to clipboard

Sync progress flushes

Open tony opened this issue 8 months ago • 1 comments

Summary by Sourcery

Document TTY limitation for git progress output and introduce tests for the run module

Enhancements:

  • Add comment explaining why git progress outputs newlines instead of carriage returns when stderr is not a TTY

Tests:

  • Introduce tests for the internal run module to validate process polling and progress callbacks

tony avatar Jun 20 '25 11:06 tony

Reviewer's Guide

This PR inserts explanatory comments in run.py detailing why Git’s progress output uses new lines when stderr isn’t a TTY (and why switching to a pseudo-TTY would require deeper subprocess changes), and it scaffolds a new test file stub for run.py.

File-Level Changes

Change Details Files
Clarify Git progress output behavior when not on a TTY
  • Added notes on stderr TTY detection and its effect on progress formatting
  • Described that without a pseudo-TTY, Git emits lines instead of carriage returns
  • Explained that supporting proper in-place updates would need substantial subprocess handling changes
src/libvcs/_internal/run.py
Add empty test module for run.py
  • Created new test file stub to support future run module tests
tests/_internal/test_run.py

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an issue from a review comment by replying to it. You can also reply to a review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull request title to generate a title at any time. You can also comment @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment @sourcery-ai summary on the pull request to (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the pull request to resolve all Sourcery comments. Useful if you've already addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull request to dismiss all existing Sourcery reviews. Especially useful if you want to start fresh with a new review - don't forget to comment @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

  • Contact our support team for questions or feedback.
  • Visit our documentation for detailed guides and information.
  • Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.

sourcery-ai[bot] avatar Jun 20 '25 11:06 sourcery-ai[bot]