Hello Joel,
I wrote a short script to find different commits based on author and
subject (see attached python-script). It seems that there are quite some
differences (see attached output).
The big blog of HDMI on Beagle patches that is only on master is caused
by me. These have been developed by Vijay while I was a mentor for his
project. Would be a question whether that's a feature that should be on
the stable branch too or not. Some commits will be most likely only on
one branch (for example 816a2f912f where Chris updated rtems_waf).
Best regards
Christian
On 24/07/2021 18:40, Joel Sherrill wrote:
On Sat, Jul 24, 2021, 11:30 AM Christian Mauderer <o...@c-mauderer.de
<mailto:o...@c-mauderer.de>> wrote:
Hello Joel,
On 24/07/2021 18:18, Joel Sherrill wrote:
>
>
> On Sat, Jul 24, 2021, 10:19 AM Christian Mauderer
<o...@c-mauderer.de <mailto:o...@c-mauderer.de>
> <mailto:o...@c-mauderer.de <mailto:o...@c-mauderer.de>>> wrote:
>
> Hello,
>
> in a discussion with Husni I noted that the patches adding
ttcp are
> only
> on the 6-freebsd-12 branch of libbsd. Is there a reason that
they are
> not on master too?
>
>
> Yes but forgetting isn't a good reason. I know I have a recent
patch so
> apps using C99 or C++03 can compile using libbsd missing also. I
will
> survey OAR and make sure we catch up.
I missed something like that in the past too and I will miss it in the
future. And I'm sure that I have some on master that are not on
6-freebsd-12. So no problem. Just wanted to check that there is no
other
reason.
We probably need to collectively be more diligent about asking that any
patches go onto 6-freedbsd-12 and master. Some also should go to
5-freebsd-12. We are all busy and just forget.
By the way: Please tell me if you find patches that I missed ;-)
I would if we can figure.out how to spot them.
>
> Is there any reason rtemsbsd/ just shouldn't be the same?
>
Most of it most likely is the same. But there are differences. Some of
them might shouldn't be there but they are there. Try to checkout
master
and do a
git diff 6-freebsd-12 -- rtemsbsd/
I don't think that someone wants to clean that up on an update.
Is it possible to take the output of that and do a git blame on the
6-freebsd-12 branch, grab the hash and author, and generate a master
list of hashes and who was responsible for review?
It would make the audit easier.
Changes to the FreeBSD directory might be harder. I know Kinsey back
ported some stuff.
--joel
Best regards
Christian
>
>
>
https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=af06b267c5ce04e8a4a7719cb0c723ee4a27f4b4
<https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=af06b267c5ce04e8a4a7719cb0c723ee4a27f4b4>
>
<https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=af06b267c5ce04e8a4a7719cb0c723ee4a27f4b4 <https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=af06b267c5ce04e8a4a7719cb0c723ee4a27f4b4>>
>
https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=7960ab7a43d5a7c6ceccdd67f8e379adfce7a633
<https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=7960ab7a43d5a7c6ceccdd67f8e379adfce7a633>
>
<https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=7960ab7a43d5a7c6ceccdd67f8e379adfce7a633 <https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=7960ab7a43d5a7c6ceccdd67f8e379adfce7a633>>
>
https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=6cc63cbe657c3ee664727cce1a54acc7e7b5fe9d
<https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=6cc63cbe657c3ee664727cce1a54acc7e7b5fe9d>
>
<https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=6cc63cbe657c3ee664727cce1a54acc7e7b5fe9d <https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=6cc63cbe657c3ee664727cce1a54acc7e7b5fe9d>>
>
https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=8dfea31d729fafab69b5cf1846598f5104b0faeb
<https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=8dfea31d729fafab69b5cf1846598f5104b0faeb>
>
<https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=8dfea31d729fafab69b5cf1846598f5104b0faeb <https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12&id=8dfea31d729fafab69b5cf1846598f5104b0faeb>>
>
> Background for the question: I expect that an update to
FreeBSD 13 will
> use only what is on the master branch. That's basically what
master is
> for: Tracking the development to keep up with new stuff in
FreeBSD and
> make it easy to jump to the next FreeBSD release. In other
words: I
> think a (possible future) 6-freebsd-13 branch will be based
on master
> and not on 6-freebsd-12. Am I wrong with that assumption?
>
> Again: please correct me if I'm wrong but with that in mind I
would say
> that it is a good idea to port to master and 6-freebsd-12 or (for
> experimental stuff) only to master. But not only to 6-freebsd-12.
>
> Best regards
>
> Christian
>
INFO: Head of master: 8f870a3593 (Gedare Bloom: aarch64/nexus: add GEM
definitions for Versal)
INFO: Head of 6-freebsd-12: c5e81a2169 (Joel Sherrill: linker_set.h: Add
alignof implementation for when not C11 or C++11)
INFO: Common ancestor: 8ae22c48b3 (Christian Mauderer: freebsd/if_cpsw: Port.)
WARNING: Only on master: 8f870a3593 (Gedare Bloom: aarch64/nexus: add GEM
definitions for Versal)
WARNING: Only on master: 5251e0c816 (G S Niteesh Babu: iicbus/rtems-i2c.c: Add
rtems,path as an additional bus path)
WARNING: Only on master: 9b9a976847 (Vijay Kumar Banerjee: Revert "Import
telnetd from RTEMS repository")
WARNING: Only on master: 1b07480ddc (Vijay Kumar Banerjee: Import telnetd from
RTEMS repository)
WARNING: Only on master: c66e527ab7 (Vijay Kumar Banerjee: libbsd.py: Build i2c
shell command)
WARNING: Only on master: 3cdf289424 (G S Niteesh Babu: arm/ti/ti_pinmux: Remove
TI pinmux driver)
WARNING: Only on master: 33bfaee89a (Christian Mauderer: wpa: Fix multiple
definition of `hmac_md5`)
WARNING: Only on master: 90a9fd66e0 (Chris Johns: Update the CONTRIBUTING with
kernel/user space notes.)
WARNING: Only on master: 5f29d17bee (Sebastian Huber: linux/crc32.h: Update due
to API changes)
WARNING: Only on master: 48e33f00e4 (Sebastian Huber: linux/genalloc.h: Update
due to API changes)
WARNING: Only on master: 56fd3765e9 (Jan Sommer: e1000: Add missing files)
WARNING: Only on master: 35fc309241 (Vijay Kumar Banerjee: wscript: add
uninstall command)
WARNING: Only on master: f1eb69a4a3 (Vijay Kumar Banerjee: Update rtems_waf)
WARNING: Only on master: c81707c3e2 (Christian Mauderer: README: Update with
information for RTEMS 6)
WARNING: Only on master: b96abfd647 (Vijay Kumar Banerjee: libbsd.py: Install
the evdev header files)
WARNING: Only on master: 792d56bd33 (Sebastian Huber: NVME(4): Fix for big
endian platforms)
WARNING: Only on master: 9215a81d08 (Jan Sommer: i386: Add to build)
WARNING: Only on master: a5ddb0ea69 (Sebastian Huber: Update to FreeBSD head
2019-09-24)
WARNING: Only on master: 951c4b92cf (Vijay Kumar Banerjee: rtemsbsd: remove
dead code fb.c)
WARNING: Only on master: 530f8f5abd (Vijay Kumar Banerjee: am335x display
drivers: Port to RTEMS)
WARNING: Only on master: 7adbe5b0bd (Vijay Kumar Banerjee: am335x display
drivers: Import from FreeBSD)
WARNING: Only on master: d7c01f4569 (Vijay Kumar Banerjee: fbd: Port to RTEMS)
WARNING: Only on master: fa976bc5aa (Vijay Kumar Banerjee: fbd: Import from
FreeBSD)
WARNING: Only on master: 2cf7b6b3e4 (Vijay Kumar Banerjee: TDA19988: Port to
RTEMS)
WARNING: Only on master: b7458b0915 (Vijay Kumar Banerjee: TDA19988: Import
from FreeBSD)
WARNING: Only on master: 59ce99a357 (Vijay Kumar Banerjee: Pinmux: Port to
RTEMS)
WARNING: Only on master: e3bc24e616 (Vijay Kumar Banerjee: Pinmux : Import from
FreeBSD)
WARNING: Only on master: b68ca55c96 (Vijay Kumar Banerjee: Add mmap)
WARNING: Only on master: 4ed60d9076 (Vijay Kumar Banerjee: i2c tool : port to
RTEMS)
WARNING: Only on master: e8c5db1e87 (Vijay Kumar Banerjee: i2c tool : Import
from FreeBSD)
WARNING: Only on master: 7ab9e2ad53 (Vijay Kumar Banerjee: Add rtems i2c
adaptation layer)
WARNING: Only on master: 4e1325a338 (Vijay Kumar Banerjee: iicbus: port to
RTEMS)
WARNING: Only on master: 627fd1624e (Vijay Kumar Banerjee: iicbus: Import from
FreeBSD)
WARNING: Only on master: 9a4ed64d5a (Vijay Kumar Banerjee: CONTRIBUTING:
mention pyelftools dependency)
WARNING: Only on master: 589f43d6af (Christian Mauderer: Import FreeBSD license
files.)
WARNING: Only on master: e2fc908281 (Christian Mauderer: builder.py: Add case
for plain text files.)
WARNING: Only on master: c64a1ebaf9 (Christian Mauderer: Add helper script to
find licenses.)
WARNING: Only on master: 3f2b54d971 (Vijay Kumar Banerjee: Remove
pcap_version.h)
WARNING: Only on master: 5754194298 (Sebastian Huber: README: Add branch
description)
WARNING: Only on master: 5a8ccdabf6 (Sebastian Huber: CONTRIBUTING: Fix format)
WARNING: Only on master: 9391f52d14 (Sebastian Huber: README.md: Add Qemu and
networking section)
WARNING: Only on master: 2cfb4f190d (Sebastian Huber: README.md: Fix path)
WARNING: Only on master: 04e8a83c51 (Sebastian Huber: README.md: Rework FreeBSD
kernel options)
WARNING: Only on master: ba556909dc (Sebastian Huber: README.md: Remove
maintainer information)
WARNING: Only on master: 32a41a1736 (Sebastian Huber: Ignore .waf*)
WARNING: Only on master: f60ac53420 (Sebastian Huber: Update
rtems-bsd-kernel-namespace.h)
WARNING: Only on master: 2b2563da95 (Sebastian Huber: Update to FreeBSD head
2018-12-20)
WARNING: Only on 6-freebsd-12: c5e81a2169 (Joel Sherrill: linker_set.h: Add
alignof implementation for when not C11 or C++11)
WARNING: Only on 6-freebsd-12: c41318075e (Stephen Clark: nexus: Added SDHCI
driver to ZynqMP)
WARNING: Only on 6-freebsd-12: a53aeb5eb9 (Kinsey Moore: rtemsbsd: Present all
ZynqMP interfaces by default)
WARNING: Only on 6-freebsd-12: 14576608a9 (Kinsey Moore: freebsd/if_cgem: Fail
probe for unterminated MII)
WARNING: Only on 6-freebsd-12: b0c8153d54 (Kinsey Moore: rtemsbsd: Use
config.inc to control ZynqMP ethernet)
WARNING: Only on 6-freebsd-12: 8dfea31d72 (Stephen Clark: rtemsbsd: Added a
test for the TTCP command.)
WARNING: Only on 6-freebsd-12: 6cc63cbe65 (Stephen Clark: rtemsbsd: Made TTCP
command build for RTEMS)
WARNING: Only on 6-freebsd-12: 7960ab7a43 (Stephen Clark: rtemsbsd:Updated TTCP
code with network demo code)
WARNING: Only on 6-freebsd-12: af06b267c5 (Stephen Clark: rtemsbsd: Added
original TTCP code)
WARNING: Only on 6-freebsd-12: 4ce914cb90 (Kinsey Moore: rtemsbsd: Make ZynqMP
CGEM interfaces selectable)
WARNING: Only on 6-freebsd-12: 023e94fd8b (Kinsey Moore: nexus: Add UKPHY
driver to ZynqMP)
WARNING: Only on 6-freebsd-12: 3abebabf1d (Kinsey Moore: linker: Enforce set
alignment requirements)
WARNING: Only on 6-freebsd-12: 28129f8ee6 (Kinsey Moore: ck: Update for ILP32)
WARNING: Only on 6-freebsd-12: e256668d6e (Kinsey Moore: nexus: Add ZynqMP SLCR
driver)
WARNING: Only on 6-freebsd-12: 1d9f93cbaa (Kinsey Moore: nexus: Switch ZynqMP
platforms to CGEM3)
WARNING: Only on 6-freebsd-12: b7a12cc8f9 (Kinsey Moore: if_cgem: Add support
for ZynqMP CGEM)
WARNING: Only on 6-freebsd-12: 0c60fe524e (Kinsey Moore: rtembsd: Fix alignment
of allocations for 64bit)
WARNING: Only on 6-freebsd-12: 68e79b6d18 (Kinsey Moore: zynq: Add support for
SDHCI devices)
WARNING: Only on 6-freebsd-12: dbf72c205d (Jan Sommer: waf: Add path-mappings
feature)
WARNING: Only on 6-freebsd-12: 816a2f912f (Chris Johns: rtems_waf: Update to
origin/master.)
WARNING: Only on 6-freebsd-12: 46b3858b27 (Sebastian Huber: Update to FreeBSD
stable/12 2020-02-10)
WARNING: Only on 6-freebsd-12: 8618727d51 (Sebastian Huber: Add compatiblity
for older Newlib variants)
WARNING: Only on 6-freebsd-12: 37323bb819 (Sebastian Huber: Update to FreeBSD
stable/12 2019-09-23)
WARNING: Only on 6-freebsd-12: 3411e3d738 (Sebastian Huber: Update to FreeBSD
stable/12 2019-08-26)
WARNING: Only on 6-freebsd-12: 5283630d2c (Sebastian Huber: Update to FreeBSD
stable/12 2019-07-09)
WARNING: Only on 6-freebsd-12: bbd07d1ac9 (Sebastian Huber: Import missing
header file)
WARNING: Only on 6-freebsd-12: 7ece7548c1 (Sebastian Huber: Update to FreeBSD
stable/12 2019-06-26)
WARNING: Only on 6-freebsd-12: 705e362ea5 (Sebastian Huber: Update to FreeBSD
stable/12 2019-06-05)
WARNING: Only on 6-freebsd-12: 481397ff24 (Sebastian Huber: Update to FreeBSD
stable/12 2019-03-27)
WARNING: Only on 6-freebsd-12: eb1d30ad35 (Sebastian Huber: Update to FreeBSD
stable/12 2019-03-11)
WARNING: Only on 6-freebsd-12: 556ec29b4e (Sebastian Huber: Update to FreeBSD
stable/12 2019-02-11)
WARNING: Only on 6-freebsd-12: 4a8bc9e5fa (Sebastian Huber: Update to FreeBSD
stable/12 2019-02-04)
WARNING: Only on 6-freebsd-12: a5b385b26f (Sebastian Huber: Update to FreeBSD
stable/12 2019-01-29)
WARNING: Only on 6-freebsd-12: 1354d9bf97 (Sebastian Huber: Update to FreeBSD
stable/12 2019-01-21)
WARNING: Only on 6-freebsd-12: aec8db05b2 (Sebastian Huber: Update to FreeBSD
stable/12 2019-01-16)
#!/usr/bin/env python3
# Copyright (c) 2021 Christian Mauderer <o...@c-mauderer.de>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import git
import logging
import argparse
import sys
parser = argparse.ArgumentParser(
description=(
"Compare commits on two branches with a common parent\n"
))
parser.add_argument(
"-l", "--loglevel",
help = "Define log level.",
type = str.upper,
choices = ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'],
default = 'INFO'
)
parser.add_argument(
"-1", "--one",
help = "Name of the first branch",
default = 'master',
)
parser.add_argument(
"-2", "--two",
help = "Name of the second branch",
default = '6-freebsd-12',
)
parser.add_argument(
"-r", "--repo",
help = "Location of the repository.",
default = '.',
)
args = parser.parse_args()
# set up logging
numeric_loglevel = getattr(logging, args.loglevel)
logging.basicConfig(level = numeric_loglevel, format="%(levelname)s: %(message)s")
logger = logging.getLogger(__name__)
logger.debug(f"Started with the following options: {str(args)}")
# Open repo
repo = git.Repo(args.repo)
def readable(commit):
sha = commit.hexsha[:10]
author = commit.author
subject = commit.message.split("\n")[0]
return f'{sha} ({author}: {subject})'
# find common ancestor of branches
one = repo.commit(args.one)
logger.info(f"Head of {args.one}: {readable(one)}")
two = repo.commit(args.two)
logger.info(f"Head of {args.two}: {readable(two)}")
merge_base = repo.merge_base(one, two)[0]
logger.info(f"Common ancestor: {readable(merge_base)}")
# Go through commits and index them by commit message
def get_commits(commit, merge_base):
info = {}
c = commit
while c != merge_base:
subject = c.message.split("\n")[0]
author = c.author
key = f"{author}: {subject}"
info[key] = c
c = c.parents[0]
return info
one_commits = get_commits(one, merge_base)
two_commits = get_commits(two, merge_base)
for k in one_commits.keys():
if k not in two_commits:
logger.warning(f"Only on {args.one}: {readable(one_commits[k])}")
for k in two_commits.keys():
if k not in one_commits:
logger.warning(f"Only on {args.two}: {readable(two_commits[k])}")
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel