threads / discuss / 15966

need help stripping a repo to one file

Subject: need help stripping a repo to one file

## tl;dr

2 messages between Oct 19, 2008 and Oct 20, 2008.

replies: 1people: 2as markdown or json

Caleb Cushing· Oct 19, 2008, 10:27 UTC · lore

here's what I've done so far (note: this is a public repo if anyone wants to take a look)

git clone git@github.com:xenoterracide/dot_usr.git sql_iabbr cd sql_iabbr/ git checkout db3c5ffb180f10dde8e539a81a6644760e098dcd git branch -D master git checkout -b master git filter-branch --subdirectory-filter vim/ftplugin/ -- --all

that leaves me with this html sgml sh tex vim xhtml xml sql_iabbr.vim xml.vim

all I want left is sql_iabbr.vim and it's history

I've used stuff like git filter-branch --tree-filter 'rm -rf xml.vim' HEAD

to remove the files... but I notice that leaves the logs.

I'm thinking I could do that and then remove those commits but I haven't figured out how to remove the commits, and even then I'm not sure the repo would be in the state I want.

can anyone help me get to where I want to be? also is there an easier way to do what I've done so far?

-- 
Caleb Cushing
Baz· Oct 20, 2008, 11:53 UTC · re: Caleb Cushing · lore

Re: need help stripping a repo to one file

2008/10/19 Caleb Cushing <xenoterracide@gmail.com>:
Show 15 quoted lines
> here's what I've done so far (note: this is a public repo if anyone
> wants to take a look)
>
> git clone git@github.com:xenoterracide/dot_usr.git sql_iabbr
> cd sql_iabbr/
> git checkout db3c5ffb180f10dde8e539a81a6644760e098dcd
> git branch -D master
> git checkout -b master
> git filter-branch --subdirectory-filter  vim/ftplugin/ -- --all
>
>
> that leaves me with this
> html  sgml  sh  tex  vim  xhtml  xml  sql_iabbr.vim  xml.vim
>
> all I want left is sql_iabbr.vim and it's history
So you just want the history for a single file?
 git log -p --reverse --pretty=email -- sql_iabbr.vim

That outputs a patch history for sql_iabbr.vim in mbox format, you can import that into an empty repo with git-am.

(I had a look at the project, the history is simple with no merges etc, so nothing like --first-parent is needed)

Cheers, Baz

Show 19 quoted lines
>
> I've used stuff like
> git filter-branch --tree-filter 'rm -rf xml.vim' HEAD
>
> to remove the files... but I notice that leaves the logs.
>
> I'm thinking I could do that and then remove those commits but I
> haven't figured out how to remove the commits, and even then I'm not
> sure the repo would be in the state I want.
>
> can anyone help me get to where I want to be? also is there an easier
> way to do what I've done so far?
> --
> Caleb Cushing
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

← back to recent threads