-
Notifications
You must be signed in to change notification settings - Fork 124
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
compare: always prefix git status
output with manifest-rev
#672
compare: always prefix git status
output with manifest-rev
#672
Conversation
@aescolar , @carlescufi, any opinion? It's a very small change. |
@marc-hb . I'm not incredibly keen on this change, but neither would I oppose it strongly if others want it. |
Thanks @aescolar for the feedback! Would you mind trying it locally for some time and evaluate the verbosity trade-off "in real-life"? It's practically a one-line change. The more I've been using this the more I like it. |
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 to say I don't like the unconditional print of head_info on line 733's partial redundancy with the git status output.
What about adding command line and configuration options to enable always printing this? Barring that, what about printing the manifest-rev info unconditionally on the banner line?
Just trying to explore alternatives that don't result in redundancy here.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Yes, exactly |
9415f37
to
2fab7ac
Compare
Actually, that duplication was only in a particular case. I changed the example and now the is duplication gone, see the new commit message. Now I could try to test whether the repo has a detached HEAD in order to eliminate the duplication in that removed, detached HEAD example. But:
Let me insist on point 2, which is the main point of this PR: simple and predictable output. Unsurprisingly, it goes with simpler code. Throughout the discussions about this new |
It's not unusual to make "quick and dirty", temporary changes in a git repo that is on the manifest: either add some untracked files or create a branch. As expected, this makes the repository show in `west compare`. If such repos and the manifest repo are the only repos appearing in the `west compare` output, then no manifest-rev + HEAD banner ever appeared. When no banner ever appears it's really not obvious which repos are on the manifest-rev vs not. In other words: the main `west compare` feature is defeated. Clear this doubt by always showing the banner, even when `HEAD` and `manifest-rev` are the same. See sample output below. I think the original design idea was to follow diff's "spirit" not to show anything that's identical and to save as many lines as possible. However I don't think it works in this particular case because invoking `git status` for a repo _without_ showing where its HEAD is at is way too subtle, _especially_ when there is no other repo with a banner to provide a comparison point and some contrast. Explicitly and consistently prefixing every `git status` output with a manifest-rev banner is much more clear and obvious. Moreover, `git status` output is relatively verbose already so always prefixing it with a 2 lines long banner makes negligible difference to the total. Before: ``` $ west compare === hal_xtensa (modules/hal/xtensa): --- status: On branch somebranch nothing to commit, working tree clean ``` After: ``` $ west compare === hal_xtensa (modules/hal/xtensa): --- manifest-rev: 41a631d4aeee (somebranch, upstream/master) cmake: enable using SOC_TOOLCHAIN_NAME ... HEAD: 41a631d4aeee (somebranch, upstream/master) cmake: enable using SOC_TOOLCHAIN_NAME ... --- status: On branch somebranch nothing to commit, working tree clean ``` Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2fab7ac
to
07c143d
Compare
It's not unusual to make "quick and dirty", temporary changes in a git
repo that is on the manifest: either add some untracked files or create
a branch. As expected, this makes the repository show in
west compare
.If such repos and the manifest repo are the only repos
appearing in the
west compare
output, then no manifest-rev + HEADbanner ever appeared. When no banner ever appears it's really not
obvious which repos are on the manifest-rev vs not. In other words: the
main
west compare
feature is defeated.Clear this doubt by always showing the banner, even when
HEAD
andmanifest-rev
are the same. See sample output below.I think the original design idea was to follow diff's "spirit" not to
show anything that's identical and to save as many lines as
possible. However I don't think it works in this particular case because
invoking
git status
for a repo without showing where its HEAD is atis way too subtle, especially when there is no other repo with a
banner to provide a comparison point and some contrast. Explicitly and
consistently prefixing every
git status
output with a manifest-revbanner is much more clear and obvious.
Moreover,
git status
output is relatively verbose already so alwaysprefixing it with a 2 lines long banner makes negligible difference to
the total.
Before:
After:
Signed-off-by: Marc Herbert marc.herbert@intel.com