From: Junio C Hamano Date: Thu, 19 Jan 2006 18:24:15 GMT Subject: Re: [QUESTION] about .git/info/grafts file Message-ID: <7vwtgwdqk0.fsf@assigned-by-dhcp.cox.net> In-Reply-To: Linus Torvalds writes: > - a full clone takes a long time. Git _could_ fairly easily have an > extension to add a date specifier to clone too: > > git clone --since=1.month.ago > > and just leave any older stuff (you could always fetch it later), but > we've just never done it. Maybe we should. It _should_ be pretty simple > to do from a conceptual standpoint. True, except some implementation details you forgot to mention in your other message that you talked about upload-version. Both commit walkers and git native transfer fundamentally operate by trusting that our current refs are complete, which makes "could always fetch it later" part a bit involved. It fortunately would not be a rocket science. We would need to have a mode "do not trust our current refs are complete" with an explicit command line option, or automatically fall back to that mode when seeing the $GIT_DIR/info/grafts file has changed, and revalidate the commit ancestry chain we have in a repository cloned that way.