I'm using the `caravel_user_project` repo and I've...
# shuttle
a
I'm using the
caravel_user_project
repo and I've followed all steps in the round trip documentation with the addition of running
make pdk-with-sram
to get the SRAM files. I've also updated the
io_ports
Makefile to add the
mgmt_core_wrapper
to the search path for iverilog but when running
make verify-io_ports
I get two errors:
Copy code
../../../mgmt_core_wrapper/verilog/rtl/mgmt_core_wrapper.v:145: error: Unknown module type: mgmt_core
../../../mgmt_core_wrapper/verilog/rtl/mgmt_core_wrapper.v:243: error: Unknown module type: DFFRAM
Anyone have any idea what this is about?
t
I think it's related to the discussion in the #caravel channel.
πŸ‘ 1
a
@User Please see my comment on that thread, would you have some time to discuss the changes?
t
I'm not really the right person to talk to about changes to
caravel_user_project
. Most of the repository content is geared toward Openlane, so the repository is managed by the Openlane developers (Mohamed Shalan's group), not me.
a
Sure, these changes will (hopefully) perpetuate into each of the repos though
t
Shouldn't you be able to fork the repository and make a pull request, though?
a
I can fork but then the source doesn't get committed to the main repository
t
I thought that was how github was set up, though, to let a user fork a project and then make a pull request from the modified fork back to the main repository. That was how I had done it for a long time until I learned that I could just make a pull requrest off of a modified clone (which seems a lot easier). Maybe that works for modifications to an existing branch only? One thing I could do is to create the branch for you---I think I have the privilege to do that---and then you can send the pull request.
a
The usual way to use github is to create a branch straight from the remote repo (on github) and make a pull request from the new branch into another branch on the remote (usually the default branch like
main
) so there's no need to fork the repo. I don't think I'd be able to use your branch to push to though because I don't think I have any push "rights"
t
Nobody has push rights to these repositories any more. The settings were changed so that all modifications have to be done by pull request with approval.
a
But you can't do a pull request without push rights because you can't push to a branch I don't think
I'm certainly open to you trying to create a branch and me pushing to it
t
Or you can get the changes to me and I can try pushing all of it?
a
You can also have protected branches so that you don't allow people to push to specific branches (like main) so that changes have to go though pull request still
What's the best way to send changes to you?
t
Tarball?
a
It's only 2 new files in the root of the repo though
I can just sent the files πŸ™‚
t
Yes, that works.
a
Dockerfile,apt_requirements.txt
I'll comment on the PR as well but the basic idea is that all development is done in a docker container and you mount whichever repo into the container, this way the docker container contains all the tools (magic, riscv-toolchain, etc...) to use the repo
t
What were you naming your branch?
a
add-dockerfile-to-user-project
Thank you so much for this Tim, I really appreciate it!
t
Well, that's more or less what I was expecting. . . I can't push a new branch, either. @User: This needs fixing. There is no way to create a new branch on these repositories, e.g.,
caravel_user_project
. This prevents anyone from generating a new branch and making a pull request. This is something that should be possible to do.
πŸ‘ 1
p
@User @User what's wrong with forking + pull request, that's the usual flow for external contribution to any repositories
a
Is there a need to create a whole new repo just for some changes? It seems wasteful and overcomplicated when you can just create a branch on the original repo, which is how most software projects work from my experience
t
@User: I prefer working from the original repository for the same reason; forking is a hassle and seems wasteful. However, in this case, I understand that the way the repository settings have been done, a fork-and-pull-request will work even though a clone-and-push won't
a
Yeah I'm talking with Jeff about it now (or when he comes online), if he says to fork and PR then I'll happily do that
p
@User I have a different experience w/ github (but maybe that's just because often I'm not a core member of the project I contribute to), forking a button is one click away from the main repo:
and after a PR get merged github gives you the option to delete the branch (and the fork):
a
@User Yeah it's cool github gives you that option as well, I've only ever used fork to take a project in a different direction. Is there any advantage in forking as opposed to branching? Maybe I'm missing the benefits
p
@User usually you don't have the right to create a branch on a repo that you (or your team) don't own. So forking is often the default (and only) way to make an "external" contribution to a project you're not part of.
πŸ‘ 1