Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] CDT/Git

Here’s something better, only import the /cvsroot/tools/org.eclipse.cdt module. Everything is there and nothing old.

 

From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Alex Blewitt
Sent: Tuesday, May 10, 2011 10:23 AM
To: James Blackburn
Cc: CDT General developers list.
Subject: Re: [cdt-dev] CDT/Git

 

On 10 May 2011, at 14:55, James Blackburn <jamesblackburn@xxxxxxxxx> wrote:

 

On 10 May 2011 14:41, Alex Blewitt <alex.blewitt@xxxxxxxxx> wrote:

When you talk about deleting, you are really talking about running git filter-branch, right?

 

For 'Old' I was proposing to just delete before the import. 

 

That's not going to help though. It will still be in the git history, just not in master's HEAD. So it will still take up the space. 



 

What are you planning on doing for older releases where the tag includes (say) c99 but which is now removed? Unless you remove that tag or filter branch, the space won't be reclaimed.


Maybe it's worth proposing an archive of the full, full history, but do a filter-branch to remove all cruft (both current and historic) to keep history of just the golden bundles.

 

I'm not sure what the answer is. If the history is reachable, then it takes up space.  

 

That's indeed the problem. Getting rid of it with filter branch removes it from the history entirely. 



It also messes up tags: anytime the whole repo isn't tagged, the import needs to create a fix-up commit on a branch, deleting the non-tagged stuff, and apply tag the commit which contains just the tagged content.

 

That's a feature of the cvsimport, not of Git. Once you've done the final cvs extract, then you filter and clean up history. 



As it happens c99 hasn't been touched since 2007. 

 

I suspect people aren't going to build anything but head from the git repo.  

 

Right, so getting rid of history of moved/irrelevant code is going to be a win. 



There is a concern that people might want to look at old history after CVS is switched off.  So perhaps we can create two git repos:

  - main repo: Don't import stuff that isn't built on HEAD today

  - old repo: Contains everything that wasn't imported into main repo.

 

Right, one can be an archived copy of full cvs history, the other can be minified by removal of cruft that is no longer needed. But the removal needs to be aggressive in removing from branches (and tags?) so that it was as they didn't exist, instead of as they have just disappeared. 

 

Alex


Back to the top