-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
feat(perforce): Add backend support for Perforce integration #103171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feat/perforce-integration
Are you sure you want to change the base?
Conversation
|
This PR is 2500 lines -- would it possible to split it up for review? There are aspects that should be reviewed by different teams like dependencies, specific features, etc |
f566dcc to
ab41785
Compare
2172a79 to
09e3105
Compare
e293bd2 to
2a52e60
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## feat/perforce-integration #103171 +/- ##
==============================================================
- Coverage 80.69% 80.65% -0.04%
==============================================================
Files 9230 9230
Lines 394247 394487 +240
Branches 25121 25121
==============================================================
+ Hits 318133 318184 +51
- Misses 75666 75855 +189
Partials 448 448 |
a978a06 to
1197dcd
Compare
This commit adds backend support for Perforce version control integration: - New Perforce integration with P4 client support - Repository and code mapping functionality - Stacktrace linking for Perforce depot paths - Tests for integration, code mapping, and stacktrace linking - Updated dependencies in pyproject.toml The integration supports: - Authentication via P4PORT, P4USER, P4PASSWD - Code mapping between depot paths and project structure - Source URL generation for stacktrace frames - Integration with Sentry's repository and code mapping systems
2a52e60 to
ecfa2ce
Compare
|
|
||
| # Remove depot prefix to get relative path | ||
| if url.startswith(depot_path): | ||
| return url[len(depot_path) :].lstrip("/") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: URL Path Normalization Fails
After stripping the p4:// prefix from the URL, the depot path comparison fails because depot_path from config typically includes leading slashes (e.g., //depot) while the stripped URL doesn't (e.g., depot/path/file.cpp). The startswith check on line 266 will always return false, causing the method to return the full URL instead of the relative path.
This commit adds backend support for Perforce version control integration:
The integration supports: