Prevent remove command from deleting gemfile lines that are comments #4045
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What was the end-user or developer problem that led to this PR?
Running
bundle remove foo
, removes the respective gem, "foo", from the Gemfile, but also removes any comments containinggem "foo"
, where "foo" is the name of the removed gem (fixes #3276).What is your fix for the problem, implemented in this PR?
In the code that removes text from gemfiles, there is a regular expression that identifies lines where the gems targeted for removal are mentioned. To complement this, I use an additional regular expression to make sure the mention of the gem is not a line comment.
I included two tests. One test verifies such a line comment is not deleted. The other test makes sure a typical inline comment is still removed in a normal
bundle remove
scenario.Please let me know if you think there are important cases that I missed. It is my understanding that the
comment syntax is very rarely used.
Any and all feedback is greatly appreciated!
Make sure he following tasks are checked