Closed
Bug 1123139
Opened 10 years ago
Closed 9 years ago
Remove commit list / links, pull information and commit message from "Description" field
Categories
(MozReview Graveyard :: General, defect, P1)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: mconley, Assigned: dminor)
References
Details
Attachments
(1 file)
With bug 1064111 fixed, the commit list and links are superfluous.
The commit message and pull information can be put into their own fields.
The description could then be used as a way for the reviewee to optionally describe their solution to fixing the bug. This could also be guessed from any additional comments below the first line of the commit message.
Updated•10 years ago
|
Priority: -- → P1
Updated•10 years ago
|
Assignee: nobody → smacleod
Comment 1•9 years ago
|
||
+1, I've actually been meaning to request a "description" field myself.
Comment 3•9 years ago
|
||
(In reply to Dan Minor [:dminor] from comment #2)
> :smacleod, mind if I pick this one up?
Go for it - assigned to you.
Assignee: smacleod → dminor
Status: NEW → ASSIGNED
Flags: needinfo?(smacleod)
Assignee | ||
Comment 4•9 years ago
|
||
It makes sense to me to remove the commits list and move the links to their own section.
Since we're trying to encourage people to write meaningful commit messages, I think we should always populate the description of child review requests based upon the commit message, rather than adding a separate section for it.
That would leave the description field on the parent review request for general comments, if any.
Comment 5•9 years ago
|
||
(In reply to Dan Minor [:dminor] from comment #4)
> Since we're trying to encourage people to write meaningful commit messages,
> I think we should always populate the description of child review requests
> based upon the commit message, rather than adding a separate section for it.
>
> That would leave the description field on the parent review request for
> general comments, if any.
I feel that there is a place for per-commit general comments, too. I understand the desire to write meaningful commit messages, but I find there is often information to be conveyed to the reviewer that's relevant to the context of the review but less so to someone looking at the commit later. Especially in a long commit series, it's useful to be able to associate such information with a specific commit.
Assignee | ||
Comment 6•9 years ago
|
||
We discussed this in the MozReview meeting and decided to create a separate field for information to be conveyed the reviewer that isn't properly part of the commit message. I filed Bug 1194354 for this.
Assignee | ||
Comment 7•9 years ago
|
||
mozreview: remove extraneous information from description (bug 1123139); r?smacleod
This removes commit list and link information from the "Description" field and
reserves it for the commit summary. The field is hidden for parent review
requests as they lack a commit summary.
A new field is added which contains the command to pull down the commits as
well as a link to the commits through the Mercurial web interface.
Attachment #8648908 -
Flags: review?(smacleod)
Assignee | ||
Comment 8•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
mozreview: remove extraneous information from description (bug 1123139); r?smacleod
This removes commit list and link information from the "Description" field and
reserves it for the commit summary. The field is hidden for parent review
requests as they lack a commit summary.
A new field is added which contains the command to pull down the commits as
well as a link to the commits through the Mercurial web interface.
Updated•9 years ago
|
Attachment #8648908 -
Flags: review?(smacleod)
Comment 9•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
https://reviewboard.mozilla.org/r/16319/#review14897
Have you run the tests? I'd have thought the description changes would definitely require test updates.
::: pylib/mozreview/mozreview/fields.py:88
(Diff revision 1)
> + field_id = "p2rb.commit_id"
If you're creating a field for this you'll need to remove it from `DRAFTED_EXTRA_DATA_KEYS` in `rbbz.extension`.
Unless an extra data key has a field associated it won't be copied from the draft to the review request - We copy things in `DRAFTED_EXTRA_DATA_KEYS` manually.
::: pylib/mozreview/mozreview/fields.py:93
(Diff revision 1)
> + def has_value_changed(self, old_value, new_value):
> + return old_value != new_value
This matches the default behaviour, lets not define it.
::: pylib/mozreview/mozreview/fields.py:102
(Diff revision 1)
> + def as_html(self):
We should be overriding `render_value` instead of `as_html`. It will be passed the value of `p2rb.commit_id` which we are supposed to use for the rendering. That should also simplify this quite a bit.
Assignee | ||
Comment 10•9 years ago
|
||
https://reviewboard.mozilla.org/r/16319/#review14897
heh, I only ran the selenium tests, I forgot that we end up dumping the description everywhere.
Assignee | ||
Comment 11•9 years ago
|
||
Assignee | ||
Comment 12•9 years ago
|
||
Assignee | ||
Comment 13•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio
This removes commit list and link information from the "Description" field and
reserves it for the commit summary. The field is hidden for parent review
requests as they lack a commit summary.
A new field is added which contains the command to pull down the commits as
well as a link to the commits through the Mercurial web interface.
Attachment #8648908 -
Attachment description: MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod → MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio
Attachment #8648908 -
Flags: review?(smacleod)
Attachment #8648908 -
Flags: review?(mdoglio)
Comment 14•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
https://reviewboard.mozilla.org/r/16319/#review15377
Attachment #8648908 -
Flags: review?(mdoglio)
Assignee | ||
Comment 15•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio
This removes commit list and link information from the "Description" field and
reserves it for the commit summary. The field is hidden for parent review
requests as they lack a commit summary.
A new field is added which contains the command to pull down the commits as
well as a link to the commits through the Mercurial web interface.
Attachment #8648908 -
Flags: review?(mdoglio)
Assignee | ||
Comment 16•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio
This removes commit list and link information from the "Description" field and
reserves it for the commit summary. The field is hidden for parent review
requests as they lack a commit summary.
A new field is added which contains the command to pull down the commits as
well as a link to the commits through the Mercurial web interface.
Attachment #8648908 -
Flags: review?(gps)
Comment 17•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
https://reviewboard.mozilla.org/r/16319/#review15511
Attachment #8648908 -
Flags: review?(smacleod)
Comment 18•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
https://reviewboard.mozilla.org/r/16319/#review15519
::: pylib/mozreview/mozreview/templates/mozreview/hg-info.html:25
(Diff revision 2)
> + {% endif %}
Something else we may want to add here is the command to import this single commit.
$ hg import https://reviewboard-hg.../rev/<sha1>
Ideally we'd also sneak a "--exact" in there because "import" applies the changeset against the "." revision by default and "--exact" makes it apply to the changeset defined in the commit. Using "--exact" ensures there will be no conflicts. But it may not work if the client doesn't have the parent changeset locally.
All that being said, we should prefer people use `hg pull` because that is a more "native" workflow and there won't be conflicts if parent changesets are missing. However, if this is someone landing or taking over the series, they'll almost always want to "hg rebase" after the pull. We could steer them in the direction of `hg pull --rebase` or we could implement a custom client-side command/alias for doing the pull+rebase easily. e.g. `hg prb mr://16319`. Oh yeah, Mercurial supports custom protocol handlers which can do magic things :)
Having said all that, let's just advertise "hg import <url>" for starters and see how that works. We can iterate later.
Attachment #8648908 -
Flags: review?(gps)
Assignee | ||
Comment 21•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio
This removes commit list and link information from the "Description" field and
reserves it for the commit summary. The field is hidden for parent review
requests as they lack a commit summary.
New fields are added to the Information FieldSet with commands to import and
pull the commits.
Attachment #8648908 -
Flags: review?(smacleod)
Assignee | ||
Comment 22•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio
This removes commit list and link information from the "Description" field and
reserves it for the commit summary. The field is hidden for parent review
requests as they lack a commit summary.
New fields are added to the Information FieldSet with commands to import and
pull the commits.
Attachment #8648908 -
Flags: review?(gps)
Comment 23•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
https://reviewboard.mozilla.org/r/16319/#review15631
I'd *really* like to see a Selenium test for this feature.
::: hgext/reviewboard/tests/test-commits-deleted-obsolescence.t:397
(Diff revision 3)
> +<<<<<<< dest
> description:
> - /r/3 - Bug 1 - Foo 2
> - /r/5 - Bug 1 - Foo 4
> - ''
> - 'Pull down these commits:'
> - ''
> - hg pull -r 2fbc30f77859fa4be2e173866fa71c52d394f2c4 http://*:$HGPORT/test-repo (glob)
> +=======
> + description: This is the parent review request
> +>>>>>>> source
merge conflict markers!
::: pylib/mozreview/mozreview/fields.py:99
(Diff revision 3)
> + if commit is None:
commit != commit_id. I guess this never runs?
::: pylib/mozreview/mozreview/fields.py:105
(Diff revision 3)
> + return ('<input style="font-size: smaller; position: relative; '
> + 'top:-3px" value="hg import -r %s %s" onclick="this.select();" '
> + 'readonly="">' % (commit_id[:12], repo_path))
These values need to be escaped to prevent XSS, as rare as it may seem.
Also, the command is:
$ hg import http://<repo>/rev/<commit>
::: pylib/mozreview/mozreview/fields.py:129
(Diff revision 3)
> + return ('<input style="font-size: smaller; position: relative; '
> + 'top:-3px" value="hg pull -r %s %s" onclick="this.select();" '
> + 'readonly="">' % (commit_id[:12], repo_path))
Escape.
Attachment #8648908 -
Flags: review?(gps)
Comment 26•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
https://reviewboard.mozilla.org/r/16319/#review15629
::: pylib/mozreview/mozreview/fields.py:92
(Diff revision 3)
> + def load_value(self, review_request_details):
> + return self.review_request_details.extra_data.get('p2rb.commit_id')
As we discussed in person I'm confused that this actually worked.
What we should do is replace `render_value` with `as_html`, and then just scrap our implementation of `load_value` (copying that code into `as_html` to fetch the value there).
::: pylib/mozreview/mozreview/fields.py:105
(Diff revision 3)
> + return ('<input style="font-size: smaller; position: relative; '
> + 'top:-3px" value="hg import -r %s %s" onclick="this.select();" '
> + 'readonly="">' % (commit_id[:12], repo_path))
We should build this using a template which makes the escaping easy, and this styling reusable between the two fields.
::: pylib/mozreview/mozreview/fields.py:115
(Diff revision 3)
> + def render_value(self, commit_id):
let's just fake out this review request field too (don't forget to add it back to drafted extra data keys). That way the implementations will be similar.
::: pylib/rbbz/rbbz/extension.py
(Diff revision 3)
> - 'p2rb.commit_id',
Add this back when you fake the field.
Attachment #8648908 -
Flags: review?(smacleod)
Assignee | ||
Comment 27•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Attachment #8648908 -
Attachment description: MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio → MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
Attachment #8648908 -
Flags: review?(smacleod)
Attachment #8648908 -
Flags: review?(gps)
Assignee | ||
Comment 28•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
This removes commit list and link information from the "Description" field and
reserves it for the commit summary. The field is hidden for parent review
requests as they lack a commit summary.
New fields are added to the Information FieldSet with commands to import and
pull the commits.
Assignee | ||
Comment 29•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
This removes commit list and link information from the "Description" field and
reserves it for the commit summary. The field is hidden for parent review
requests as they lack a commit summary.
New fields are added to the Information FieldSet with commands to import and
pull the commits.
Updated•9 years ago
|
Attachment #8648908 -
Flags: review?(smacleod)
Comment 30•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
https://reviewboard.mozilla.org/r/16319/#review15739
looking really good, I think we can probably land this after one more pass.
::: pylib/mozreview/mozreview/fields.py:94
(Diff revision 5)
> + commit_id = self.review_request_details.extra_data.get('p2rb.commit_id')
We should be using `mozreview.extra_data.COMMIT_ID_KEY`.
::: pylib/mozreview/mozreview/fields.py:111
(Diff revision 5)
> + commit_id = self.review_request_details.extra_data.get('p2rb.commit_id')
We should be using `mozreview.extra_data.COMMIT_ID_KEY`.
::: pylib/mozreview/mozreview/fields.py:111
(Diff revision 5)
> + commit_id = self.review_request_details.extra_data.get('p2rb.commit_id')
> +
> + if not commit_id:
let's differentiate between child and parent by calling `is_parent` instead of using the lack of a commit id as a proxy.
In the parent case we'll do the same thing, use the last accessible child for the pull command, and in the child case we can just use a present commit id, or display nothing if it's empty.
::: pylib/mozreview/mozreview/fields.py:120
(Diff revision 5)
> + commit_id = children[-1].extra_data.get('p2rb.commit_id')
We should be using `mozreview.extra_data.COMMIT_ID_KEY`.
::: pylib/mozreview/mozreview/templates/mozreview/commit-info.html:2
(Diff revision 5)
> +This is the template for the instructions on how to deal with commits.
trailing whitespace.
Assignee | ||
Comment 31•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
This removes commit list and link information from the "Description" field and
reserves it for the commit summary. The field is hidden for parent review
requests as they lack a commit summary.
New fields are added to the Information FieldSet with commands to import and
pull the commits.
Attachment #8648908 -
Flags: review?(smacleod)
Comment 32•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
https://reviewboard.mozilla.org/r/16319/#review15781
Looks great!
Attachment #8648908 -
Flags: review?(gps) → review+
Comment 33•9 years ago
|
||
Comment on attachment 8648908 [details]
MozReview Request: mozreview: remove extraneous information from description (bug 1123139); r?smacleod,mdoglio,gps
https://reviewboard.mozilla.org/r/16319/#review15783
::: pylib/mozreview/mozreview/fields.py:15
(Diff revision 6)
> -from mozreview.extra_data import gen_child_rrs, get_parent_rr, is_parent, is_pushed
> +from mozreview.extra_data import (COMMIT_ID_KEY,
> + gen_child_rrs,
> + get_parent_rr,
> + is_parent,
> + is_pushed,
> + )
Lets switch to mercurial style multi line import
```
from mozreview.extra_data import (
COMMIT_ID_KEY
...
)
::: pylib/mozreview/mozreview/fields.py:104
(Diff revision 6)
> + logging.error('No commit_id for review request: %d' % (
> + review_request.id))
> + commit_id = ''
In this case we should not show anything in the field, instead of still showing the hg command with the revision blanked.
::: pylib/mozreview/mozreview/fields.py:139
(Diff revision 6)
> + commit_id = ''
Same in this case, we want to render the field but blank.
Attachment #8648908 -
Flags: review?(smacleod) → review+
Assignee | ||
Comment 34•9 years ago
|
||
Thanks, pushed to: https://hg.mozilla.org/hgcustom/version-control-tools/rev/9918621281d1
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Updated•9 years ago
|
Attachment #8648908 -
Flags: review?(mdoglio)
Updated•9 years ago
|
Product: Developer Services → MozReview
You need to log in
before you can comment on or make changes to this bug.
Description
•