-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fix git dirty check for revision_mode=scm #18630
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: develop2
Are you sure you want to change the base?
Conversation
* Check whole git repository for dirtyness. For the commit hash retrieved, the whole repository is already taken into consideration. This solves the inconsistency between the commit hash retrieval and dirty check. * Improve error message.
|
||
if git.is_dirty(): | ||
raise ConanException("Can't have a dirty repository using revision_mode='scm' and doing" | ||
if git.is_dirty(repository=repository): |
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.
I have some concerns that this might be breaking for users that have the repository dirty with some temp files outside of the conanfile subfolder, and suddenly this stops working. Having those temporary files in the root repo wouldn't be a big problem in most cases, isn't it?
Is this check really that important to protect at the repository level?
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.
No, it isn't, at least not for me and not now.
But what is the use-case of using the whole git repo for the ref (as opposed to scm_folder
), and having dirty stuff lying around then?
I saw this inconsistency during investigation of different methods for revision_mode
and git source retrieval.
If it shouldn't be changed, we should at least add a comment to the source code, that it's the way it currently is on purpose and a link to that PR.
I think I have another issue that affects The dirty check should ensure that the git repository is clean below the folder defined by For Should I open a separate issue for that? |
Hi @memsharded, do you have any feedback on my questions above? |
@memsharded Ping. |
Changelog: BugFix: Check whole git repository for dirtyness when using revision_mode=scm
Docs: omit
develop
branch, documenting this one.