Skip to content

Outdated parts of the tutorial #2

@bockthom

Description

@bockthom

While working on uptdating outdated parts of the woc tutorial (see PR #1), a number of questions came up that I am unable to answer myself. Could you please provide help in this regard? I will continuously add commits to my pull requests based on your suggestions here.

(1) Could somebody please explain to me what the different parameters for showCnt do? (1,2,3, etc.) For 3, the tutorial states "defines that raw output needs to be produced". But as also 1 is used in the tutorial and one might wonder what 2 does, it might be helpful to explain this as well.

[username@da0]~% echo 009d7b6da9c4419fe96ffd1fffb2ee61fa61532a | ~/lookup/showCnt commit 3

[username@da0]~% echo a8fe822f075fa3d159a203adfa40c3f59d6dd999 | ~/lookup/showCnt blob 1

If someone can provide me with an explaination, I'll add to the PR.


(2) Could somebody please let me know how to update the following comment:

- b = Blob (b2c map will become obsolete as of version U as one can get more info from b2tac)


(3) Should we add "k" to the following list of variables? It seems to be used somewhere, but I have no idea what it is...

- a = Author (A - aliased author)
- b = Blob (b2c map will become obsolete as of version U as one can get more info from b2tac)
- c = Commit, cc - child commit and pc - parent commit
- f = File (occasionally its an adjective modifying the following object as in fa or First Author)
- p = Project (P - deforked project)
- t = Time (unix unsigned long in UTC)
- g = gender


(4) b2tac does not exist any more. But I am unsure how to replace the following example easily without using b2tac:

Going back to blob we may ask if this blob has been widely copied as would be expected for copyright files. We can use b2tac to obtain a sha1's blob to time, author, and commit. The following example pipes the output to only see the first entry:
```bash
[username@da0]~% echo a8fe822f075fa3d159a203adfa40c3f59d6dd999 | ~/lookup/getValues b2tac | cut -d ";" -f1-4
a8fe822f075fa3d159a203adfa40c3f59d6dd999;1072910122;Warner Losh <imp@FreeBSD.org>;121f970412fec7f9af0352a9b4ce8dca43bdb59e
```
b2tac (blob to time, author, commit) shows the numerous commits that introduced that blob in all repositories. We can further use commit to project map (c2p)
to identify all associated projects:
```bash
[username@da0]~% echo a8fe822f075fa3d159a203adfa40c3f59d6dd999 | ~/lookup/getValues b2tac | awk -F \; '{for(i=4;i<NF;i+=3){print $i}}' | ~/lookup/getValues -f c2p | cut -d ";" -f2 | sort -u | head -3
0cjs_unix-history-repo
0mp_freebsd
0xbda2d2f8_freebsd
```
In fact, there are 1719 distinct repositories where this blob appears. If you would like to see them all, remove the last `head` portion in the previous command.
Finally, we have the author 'Warner Losh <imp@FreeBSD.org>' for the commit we have investigated.
Can we find what other commits Warner has made? (The following output is limited to three commits only):
```bash
[username@da0]~% echo 'Warner Losh <imp@FreeBSD.org>' | ~/lookup/getValues a2c | tr ";" "\n" | head -n 4
Warner Losh <imp@FreeBSD.org>
0000ce4417bd8d9a2d66a7a61393558d503f2805
000109ae96e7132d90440c8fa12cb7df95a806c6
0001246ed9e02765dfc9044a1804c3c614d25dde
```


(5) The tutorial uses a2cFull.V3.0.s and a2cFull.V3.?.s - should we update the corresponding examples? If so, how?

[username@da0]~% zcat /da7_data/basemaps/gz/a2cFull.V3.0.s | grep 'Warner Losh'

[username@da0]~% zcat /da?_data/basemaps/gz/a2cFull.V3.?.s | grep 'Warner Losh'


(6) The tutorial uses "zcat /da0_data/basemaps/gz/a2cFull*.s | grep -i 'audris' | grep -i 'mockus' | wc -l", but this ends up in "gzip: /da0_data/basemaps/gz/a2cFull*.s.gz: No such file or directory" - How to replace it?


(7) Which of these maps do still exist / shall still exist? Which ones to add?

~/lookup/getValues [-f] a2c|c2dat|b2ta|b2fa|c2b|b2f|c2f|p2c|c2p|c2P|P2c

c2f and b2ta seem to be non-existing


(I used tried Activities 1 to 5; I will potentially add further issues for Activities 6-end later)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions