Re: [gem5-dev] Best method for adding code to ext/
I agree with Tony. Sub-repos (or submodules as they are called in git) can be quite painful. However, I'm not completely opposed to them. Based on my limited research on the topic, there seems to be two popular alternatives. One is to use the repo tool that Tony already mentioned. I only have limited experience using repo. The good thing is that it is used by Android, which means it'll be maintained for the foreseeable future. On the other hand, it adds another step when checking out gem5 and seems to make some aspects of branch management a bit harder. The other option is to use subtree merging in git. This basically assimilates a repository as a subdirectory in an existing repository while maintaining history. This obviously doesn't solve the repository size problem, but it makes it easier to track what's happening in the subrepos and merge new changes. Another benefit is that users won't need a separate tools or commands to checkout gem5. Atlassian has a blog entry [1] describing this strategy. Having played a bit with subtrees, I think that's my preferred option at the moment. //Andreas [1] http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/ On 03/03/2017 22:59, Gutierrez, Anthony wrote: As an aside, I would prefer to avoid sub repos if at all possible. I am not sure how sub-repos work in Git, but if it is anything like HG they are a pain IMO. -Original Message- From: gem5-dev [mailto:gem5-dev-boun...@gem5.org] On Behalf Of Gutierrez, Anthony Sent: Friday, March 03, 2017 2:57 PM To: gem5 Developer List <gem5-dev@gem5.org> Subject: Re: [gem5-dev] Best method for adding code to ext/ Another possibility is that we could use the Git Repo tool from Google. If any of these external libs have corresponding Git repos out there somewhere, it could automatically pull those (even at specific revs if need be), or we could mirror them in separate Git repos on googlesource. -Tony -Original Message- From: gem5-dev [mailto:gem5-dev-boun...@gem5.org] On Behalf Of Jason Lowe-Power Sent: Friday, March 03, 2017 11:36 AM To: gem5 Developer List <gem5-dev@gem5.org> Subject: [gem5-dev] Best method for adding code to ext/ Hi all, There are a couple of patches in review that add a large chunk of code from other repositories to gem5 in ext/. Andreas S. has a patch that adds PyBind11 and Matthias is updating DRAMPower. And we're thinking about including SystemC in a similar way. Is there a better way for us to include these other projects in gem5's source tree? For instance, we could use subrepos. What is the community's thoughts on this? A few things I don't like about including the code in gem5: 1) It increases the amount of code in our repository 2) It is hard to track updates to these systems 3) The code cannot be GPL. Good thing about including the code in gem5: 1) Updates to external code won't break our system 2) It's easy to build gem5 without having to download other software Any other opinions or options for this? Thanks, Jason ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
Re: [gem5-dev] Best method for adding code to ext/
As an aside, I would prefer to avoid sub repos if at all possible. I am not sure how sub-repos work in Git, but if it is anything like HG they are a pain IMO. -Original Message- From: gem5-dev [mailto:gem5-dev-boun...@gem5.org] On Behalf Of Gutierrez, Anthony Sent: Friday, March 03, 2017 2:57 PM To: gem5 Developer List <gem5-dev@gem5.org> Subject: Re: [gem5-dev] Best method for adding code to ext/ Another possibility is that we could use the Git Repo tool from Google. If any of these external libs have corresponding Git repos out there somewhere, it could automatically pull those (even at specific revs if need be), or we could mirror them in separate Git repos on googlesource. -Tony -Original Message- From: gem5-dev [mailto:gem5-dev-boun...@gem5.org] On Behalf Of Jason Lowe-Power Sent: Friday, March 03, 2017 11:36 AM To: gem5 Developer List <gem5-dev@gem5.org> Subject: [gem5-dev] Best method for adding code to ext/ Hi all, There are a couple of patches in review that add a large chunk of code from other repositories to gem5 in ext/. Andreas S. has a patch that adds PyBind11 and Matthias is updating DRAMPower. And we're thinking about including SystemC in a similar way. Is there a better way for us to include these other projects in gem5's source tree? For instance, we could use subrepos. What is the community's thoughts on this? A few things I don't like about including the code in gem5: 1) It increases the amount of code in our repository 2) It is hard to track updates to these systems 3) The code cannot be GPL. Good thing about including the code in gem5: 1) Updates to external code won't break our system 2) It's easy to build gem5 without having to download other software Any other opinions or options for this? Thanks, Jason ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
Re: [gem5-dev] Best method for adding code to ext/
Another possibility is that we could use the Git Repo tool from Google. If any of these external libs have corresponding Git repos out there somewhere, it could automatically pull those (even at specific revs if need be), or we could mirror them in separate Git repos on googlesource. -Tony -Original Message- From: gem5-dev [mailto:gem5-dev-boun...@gem5.org] On Behalf Of Jason Lowe-Power Sent: Friday, March 03, 2017 11:36 AM To: gem5 Developer List <gem5-dev@gem5.org> Subject: [gem5-dev] Best method for adding code to ext/ Hi all, There are a couple of patches in review that add a large chunk of code from other repositories to gem5 in ext/. Andreas S. has a patch that adds PyBind11 and Matthias is updating DRAMPower. And we're thinking about including SystemC in a similar way. Is there a better way for us to include these other projects in gem5's source tree? For instance, we could use subrepos. What is the community's thoughts on this? A few things I don't like about including the code in gem5: 1) It increases the amount of code in our repository 2) It is hard to track updates to these systems 3) The code cannot be GPL. Good thing about including the code in gem5: 1) Updates to external code won't break our system 2) It's easy to build gem5 without having to download other software Any other opinions or options for this? Thanks, Jason ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
Re: [gem5-dev] Best method for adding code to ext/
Hi Jason, How would we keep the external repos in sync? Can a subrepo refer to a specific version? Also note that we need to keep GPL code out of gem5 (including binaries), not just the source tree, so your bad point (3) below doesn’t change either way. Andreas On 03/03/2017, 19:35, "gem5-dev on behalf of Jason Lowe-Power"wrote: >Hi all, > >There are a couple of patches in review that add a large chunk of code >from >other repositories to gem5 in ext/. Andreas S. has a patch that adds >PyBind11 and Matthias is updating DRAMPower. And we're thinking about >including SystemC in a similar way. > >Is there a better way for us to include these other projects in gem5's >source tree? For instance, we could use subrepos. What is the community's >thoughts on this? > >A few things I don't like about including the code in gem5: >1) It increases the amount of code in our repository >2) It is hard to track updates to these systems >3) The code cannot be GPL. > >Good thing about including the code in gem5: >1) Updates to external code won't break our system >2) It's easy to build gem5 without having to download other software > >Any other opinions or options for this? > >Thanks, >Jason >___ >gem5-dev mailing list >gem5-dev@gem5.org >http://m5sim.org/mailman/listinfo/gem5-dev IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
[gem5-dev] Best method for adding code to ext/
Hi all, There are a couple of patches in review that add a large chunk of code from other repositories to gem5 in ext/. Andreas S. has a patch that adds PyBind11 and Matthias is updating DRAMPower. And we're thinking about including SystemC in a similar way. Is there a better way for us to include these other projects in gem5's source tree? For instance, we could use subrepos. What is the community's thoughts on this? A few things I don't like about including the code in gem5: 1) It increases the amount of code in our repository 2) It is hard to track updates to these systems 3) The code cannot be GPL. Good thing about including the code in gem5: 1) Updates to external code won't break our system 2) It's easy to build gem5 without having to download other software Any other opinions or options for this? Thanks, Jason ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev