Re: [gem5-dev] Best method for adding code to ext/

2017-03-06 Thread Andreas Sandberg

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/

2017-03-03 Thread Gutierrez, Anthony
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/

2017-03-03 Thread Gutierrez, Anthony
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/

2017-03-03 Thread Andreas Hansson
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/

2017-03-03 Thread Jason Lowe-Power
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