Make the repo more open source and easy to work with #264
Replies: 2 comments 5 replies
-
Hi there. We understand that the current workflow is very frustrating, and we appreciate all suggestions for help. However, there is a common theme in all the suggestions we are getting (here and elsewhere) that seems to come from an incorrect model of how development happens internally. Not to put any words in your mouth, but I have a feeling the common assumption is that we have an internal repo where development happens, and then we occasionally squash all commits and push to this one. For starters, we do not develop in git at all. The source of truth for code internally is Perforce. While Perfoce Secondly, we effectively have a monorepo for all software, and changes often modify both the published and not-published parts of the codebase. These changes sometimes make no sense in isolation. Then, we have multiple overlapping release "branches", which in a monorepo are practically just sibling folders. With git, these would be Then, we have ABI-coupled firmware and usermode. Which means that we would have to publish valid firmware/usermode for every intermediate state. We keep these binaries in the monorepo, but git can't really deal with gigabytes of binary history per day. Then, the file layout in this repo is not the same as internally. We have a mapping script that copies the files into locations that make more sense for the open kernel modules. Reasons this is done is because some files are owned by different teams, or they are used by other projects, etc. None of this is important for end users, but it helps internal development. Lastly, the internal workflow has about 25 years of process and tooling built on top of it, and in some cases thousands of people working within that framework. It is.. difficult to change that. -- So, we really do appreciate the suggestions, but keep in mind that things are not nearly as easy to do as one might think from the outside. |
Beta Was this translation helpful? Give feedback.
-
But the git client does exist so the claim that p4 changelists don't map to git commits is not really true. Maybe you don't have the tools to map them which is understandable but they are not fundamentally different. |
Beta Was this translation helpful? Give feedback.
-
Since the way releases are being handled (single commits) is pretty inconvenient to work with I'd imagine instead of committing one at a time, use 2 branches, main being the current state of the code and release branch being version releases
I'd imagine there would have to be a third branch for being commits that may be accepted into the main release branch since the CLA agreement for contributing means that NVIDIA owns the code but I am probably overthinking it but 2 branches instead of one commit per release would probably be appreciated by everybody
Beta Was this translation helpful? Give feedback.
All reactions