Skip to content
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

988: Skara webrev is empty if patch has deleted files #14

Closed
wants to merge 2 commits into from

Conversation

erikj79
Copy link
Member

@erikj79 erikj79 commented Apr 22, 2021

If a file in the patch has been deleted this causes a dereference of an undefined value. To fix this I removed the quick return in fetchFileContent so that this function always returns a value.

While verifying this, I also noted that the deleted file gets a Raw link which results in a 404. I think it should just not print the Raw link so I removed that too.

If a file has only been renamed, with no other changes, the patch will be an empty string. This upsets the hunk loop, so I added a case for handling this.

The resulting webrevs from the two reported patches look correct to me with these changes, but I would appreciate some more eyes on this.


Progress

  • Change must not contain extraneous whitespace
  • Change must be properly reviewed

Issue

  • SKARA-988: Skara webrev is empty if patch has deleted files

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/cr pull/14/head:pull/14
$ git checkout pull/14

Update a local copy of the PR:
$ git checkout pull/14
$ git pull https://git.openjdk.java.net/cr pull/14/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 14

View PR using the GUI difftool:
$ git pr show -t 14

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/cr/pull/14.diff

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Apr 22, 2021

👋 Welcome back erikj! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk openjdk bot changed the title SKARA-988 988: Skara webrev is empty if patch has deleted files Apr 22, 2021
@openjdk openjdk bot added the rfr label Apr 22, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Apr 22, 2021

Webrevs

Copy link
Member

@rwestberg rwestberg left a comment

Looks fine to me, although I guess @edvbld is the authority on this code. :)

@openjdk
Copy link

@openjdk openjdk bot commented Apr 23, 2021

@erikj79 This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

🔍 One or more changes in this pull request modifies files in areas of the source code that often require two reviewers. Please consider if this is the case for this pull request, and if so, await a second reviewer to approve this pull request before you integrate it.

After integration, the commit message for the final commit will be:

988: Skara webrev is empty if patch has deleted files

Reviewed-by: rwestberg, ehelin

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been no new commits pushed to the master branch. If another commit should be pushed before you perform the /integrate command, your PR will be automatically rebased. If you prefer to avoid any potential automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Apr 23, 2021
@edvbld
Copy link
Member

@edvbld edvbld commented Apr 23, 2021

@erikj79 I don't follow how removing the fast return is correct? The fetch will then result in an 404 which I don't think the rest of the code will handle? I think returning Promise.resolve([]) (i.e. an empty array wrapped in promise) would be better. apply should be able to handle that lines is empty, so things "should" just work.

index.html Show resolved Hide resolved
index.html Outdated
@@ -1521,7 +1518,9 @@
dstLines.push(line);
} else if (line.startsWith("\\ No newline at end of file")) {
continue;
} else {
} else if (line == "") {
Copy link
Member

@edvbld edvbld Apr 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps use ===?

Copy link
Member Author

@erikj79 erikj79 Apr 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That seems to be the standard in this project, so ok, changing it. I think verifying type seems unnecessary here though. The relevance of the test is to see if line resolves to an empty string.

Copy link
Member Author

@erikj79 erikj79 left a comment

@erikj79 I don't follow how removing the fast return is correct? The fetch will then result in an 404 which I don't think the rest of the code will handle? I think returning Promise.resolve([]) (i.e. an empty array wrapped in promise) would be better. apply should be able to handle that lines is empty, so things "should" just work.

Now that I know what a Promise is, then yes, this makes a lot more sense, thanks!

index.html Outdated
@@ -1521,7 +1518,9 @@
dstLines.push(line);
} else if (line.startsWith("\\ No newline at end of file")) {
continue;
} else {
} else if (line == "") {
Copy link
Member Author

@erikj79 erikj79 Apr 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That seems to be the standard in this project, so ok, changing it. I think verifying type seems unnecessary here though. The relevance of the test is to see if line resolves to an empty string.

edvbld
edvbld approved these changes Apr 27, 2021
Copy link
Member

@edvbld edvbld left a comment

Looks good!

@erikj79
Copy link
Member Author

@erikj79 erikj79 commented Apr 27, 2021

/integrate

@openjdk openjdk bot closed this Apr 27, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels Apr 27, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Apr 27, 2021

@erikj79 Pushed as commit 629c501.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants