Hello list,
Today's update includes sys-devel/gcc-11.2.1_p20211127, up from
11.2.1. I wanted to find out what changes had been introduced, so I
went searching for the change log. I sync gentoo with git, so it
should be easy to find the log. Google found references to git log,
but when I tried it I got this:
/var/db/repos/gentoo # git log sys-devel/gcc-11.2.1_p20211127
fatal: ambiguous argument 'sys-devel/gcc-11.2.1_p20211127': unknown
revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
So I did that, but whatever I tried returned 'bad revision'. What's
the proper syntax?
/var/db/repos/gentoo # git log sys-devel/gcc-11.2.1_p20211127
fatal: ambiguous argument 'sys-devel/gcc-11.2.1_p20211127': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
So I did that, but whatever I tried returned 'bad revision'. What's the proper
syntax?
If you want the history for a file, you need to specify the full path:
git log sys-devel/gcc/gcc-11.2.1_p20211127.ebuild
On Mon, Nov 29, 2021 at 5:39 AM tastytea <gentoo@tastytea.de> wrote:
If you want the history for a file, you need to specify the full path:
git log sys-devel/gcc/gcc-11.2.1_p20211127.ebuild
You can also point it at a directory and get changes for the entire directory. I also suggest trying "git whatchanged" as an alternative
to "git log."
I'm guessing you could get git log to display the same
info but I find whatchanged to be more useful, at least for
directories. There wouldn't be much point in running it on a single
file since the main benefit is showing what files changed in each
commit.
Keep in mind that git knows nothing about gentoo package atoms/syntax.
It just sees a directory tree and files...
On Monday, 29 November 2021 16:03:25 GMT Rich Freeman wrote:
On Mon, Nov 29, 2021 at 5:39 AM tastytea <gentoo@tastytea.de> wrote:
If you want the history for a file, you need to specify the full path:
git log sys-devel/gcc/gcc-11.2.1_p20211127.ebuild
You can also point it at a directory and get changes for the entire directory. I also suggest trying "git whatchanged" as an alternative
to "git log."
I didn't know about whatchanged. I tried it like this and got 120k lines of output:
# (cd /var/db/repos/gentoo/sys-devel/gcc && git whatchanged)
I've always found git counter-intuitive and I've resisted trying to understand
it, so far. Maybe I should make a little more effort.
On Mon, Nov 29, 2021 at 11:17 AM Peter Humphrey<peter@prh.myzen.co.uk> wrote:
# (cd /var/db/repos/gentoo/sys-devel/gcc && git whatchanged)
You'd get just as much output from git log - you didn't restrict the
output so it ran on the entire repository. The current working
directory has no impact on the function of either git log or git
whatchanged.
You could append a . to just run git whatchanged on the current
directory. I run "git whatchanged ." all the time.
I've always found git counter-intuitive and I've resisted trying to understand it, so far. Maybe I should make a little more effort.
IMO time spent understanding git is highly rewarded. It isn't going anywhere.
I've heard it said that git is a data model masquerading as an SCM,
and that is very accurate. If you don't understand how it works
you're going to be fighting it.
I get that you shouldn't have to know how the data model works to use
a piece of software, but git runs pretty close to the metal. Sure,
you can always just copy/paste some one-liner that you read on a
website, but you're always going to feel like you're wrestling it.
Linus basically built it for himself and a handful of people like him,
and it shows. It is very powerful, but it is a bit like trying to use binutils without wanting to know what an ELF is.
On Monday, 29 November 2021 16:32:45 GMT Rich Freeman wrote:
On Mon, Nov 29, 2021 at 11:17 AM Peter Humphrey<peter@prh.myzen.co.uk> wrote:
# (cd /var/db/repos/gentoo/sys-devel/gcc && git whatchanged)
You'd get just as much output from git log - you didn't restrict the
output so it ran on the entire repository. The current working
directory has no impact on the function of either git log or git whatchanged.
See what I mean about counter-intuitive?
You could append a . to just run git whatchanged on the current
directory. I run "git whatchanged ." all the time.
Thanks. I will. But how do I find the real change log of a package? The sort of
stuff I used to include in a software release bulletin when I was running the show. What has changed, and why? What fault reports have been closed? What new behaviour can be expected?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 296 |
Nodes: | 16 (2 / 14) |
Uptime: | 43:03:01 |
Calls: | 6,648 |
Files: | 12,193 |
Messages: | 5,329,632 |