* Purging old history @ 2012-03-31 4:25 John M. Dlugosz 2012-03-31 4:43 ` Ramkumar Ramachandra 2012-03-31 20:20 ` Phil Hord 0 siblings, 2 replies; 4+ messages in thread From: John M. Dlugosz @ 2012-03-31 4:25 UTC (permalink / raw) To: git Is there a simple way to delete old commits, say beyond a certain age, before putting it on the server? The ancient stuff is not relevant and there are a lot of binaries. Some users may have trouble with an extensive download when syncing the first time. —John ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Purging old history 2012-03-31 4:25 Purging old history John M. Dlugosz @ 2012-03-31 4:43 ` Ramkumar Ramachandra 2012-03-31 8:25 ` Jakub Narebski 2012-03-31 20:20 ` Phil Hord 1 sibling, 1 reply; 4+ messages in thread From: Ramkumar Ramachandra @ 2012-03-31 4:43 UTC (permalink / raw) To: John M. Dlugosz; +Cc: git Hi John, John M. Dlugosz wrote: > Is there a simple way to delete old commits, say beyond a certain age, > before putting it on the server? The ancient stuff is not relevant and > there are a lot of binaries. Some users may have trouble with an extensive > download when syncing the first time. Yes, although your terminology is wrong: it's not about "deleting" commits; simply create a fresh root commit and rebase your work on top of it. As an example, let's say you want to squash history from the 67afe1 (the old root) to 7ef42b on the master branch: $ git checkout -b newroot 7ef42b $ git reset 67afe1 $ git add . $ git commit --amend $ git checkout master $ git rebase --onto newroot 7ef42b Ram ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Purging old history 2012-03-31 4:43 ` Ramkumar Ramachandra @ 2012-03-31 8:25 ` Jakub Narebski 0 siblings, 0 replies; 4+ messages in thread From: Jakub Narebski @ 2012-03-31 8:25 UTC (permalink / raw) To: Ramkumar Ramachandra; +Cc: John M. Dlugosz, git Ramkumar Ramachandra <artagnon@gmail.com> writes: > John M. Dlugosz wrote: > > Is there a simple way to delete old commits, say beyond a certain age, > > before putting it on the server? The ancient stuff is not relevant and > > there are a lot of binaries. Some users may have trouble with an extensive > > download when syncing the first time. It seems that you have XY problem. One solution to extensive initial download is to create a git-bundle of all commits up to e.g. some tag, and host it using HTTP, FTP (which are resumable), or even P2P like BitTorrent. Another solution would be to educate users to use shallow clones, i.e. use "--depth" option to git-clone... and help git developers make shallow clones better (there are some unncessary limitations in using shallow clones). > Yes, although your terminology is wrong: it's not about "deleting" > commits; simply create a fresh root commit and rebase your work on top > of it. As an example, let's say you want to squash history from the > 67afe1 (the old root) to 7ef42b on the master branch: > > $ git checkout -b newroot 7ef42b > $ git reset 67afe1 > $ git add . > $ git commit --amend > $ git checkout master > $ git rebase --onto newroot 7ef42b A simpler solution, one that would work also in presence of merges, is to use grafts mechanism (see gitrepository-layout(5)) to cauterize history, check using git-log or gitk that shortened history is correct, make grafts permanent altering history with git-filter-branch, and finally removing grafts. P.S. Please read first all the warnings about rewriting history, and about all its disadvantages for downstream. -- Jakub Narebski ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Purging old history 2012-03-31 4:25 Purging old history John M. Dlugosz 2012-03-31 4:43 ` Ramkumar Ramachandra @ 2012-03-31 20:20 ` Phil Hord 1 sibling, 0 replies; 4+ messages in thread From: Phil Hord @ 2012-03-31 20:20 UTC (permalink / raw) To: John M. Dlugosz; +Cc: git On Sat, Mar 31, 2012 at 12:25 AM, John M. Dlugosz <ngnr63q02@sneakemail.com> wrote: > Is there a simple way to delete old commits, say beyond a certain age, > before putting it on the server? The ancient stuff is not relevant and > there are a lot of binaries. Some users may have trouble with an extensive > download when syncing the first time. You may also choose to absolve the old commits of past sins (binaries and secrets) while keeping them in the history. See 'git help filter-branch' for the manual and some pertinent examples. Phil ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-03-31 20:20 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-03-31 4:25 Purging old history John M. Dlugosz 2012-03-31 4:43 ` Ramkumar Ramachandra 2012-03-31 8:25 ` Jakub Narebski 2012-03-31 20:20 ` Phil Hord
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox