From: Johannes Löthberg Date: Wed, 09 Dec 2015 17:54:31 GMT Subject: Re: publish from certain commit onward, keeping earlier history private, but provable Message-ID: <20151209175431.GA18000@zorg.kyriasis.com> In-Reply-To: <35583CFA-3BEE-4844-9F85-ED73A412A97F@joernhees.de> On 09/12, Jörn Hees wrote: >Hi, > >I've been hacking away on a library for quite some time and have a lot >of commits in my private repository: > >A -> B -> C -> D -> E > >Finally, I'm nearing completion of a first version, and want to publish >it to a remote called public from D onward keeping A..C to myself, so >public should afterwards look like this: > >D -> E > >My main motivation is that i don't really want to put ridiculously >first trials online, but still (on demand) I'd like to be able to prove >how i arrived at D (think of copyright claims, etc). > >As (at the moment) it's pretty much impossible to reverse-engineer the >hashes of commits in the chain with times and changesets, i thought >just keeping D's parent pointer to C would be one of the genius >advantages of git. Sadly i can't find a way to actually make this work. > >Can i somehow push D -> E to public making it a fully functional public >repository with all the necessary objects included to checkout D or E >and D still pointing to C as parent? If not, why is that? > Take a look at git-replace[0][1]. [0]: https://git-scm.com/2010/03/17/replace.html [1]: https://www.kernel.org/pub/software/scm/git/docs/git-replace.html -- Sincerely, Johannes Löthberg PGP Key ID: 0x50FB9B273A9D0BB5 https://theos.kyriasis.com/~kyrias/