Re: Pushing and pulling the result of `git replace` and objects/info/alternates
- From
- Stephen Kelly <steveire@gmail.com>
- Date
- May 25, 2015, 09:49 UTC
- Message-ID
- <5562F01D.8000601@gmail.com>
- In-Reply-To
- <CAP8UFD3G8_ChRX6HHtieFTksUJBiXu9FLNbewFQVj7qPyGh8EQ@mail.gmail.com>
On 05/24/2015 07:28 AM, Christian Couder wrote:
Show 11 quoted lines
> Hi, > > On Fri, May 22, 2015 at 4:38 PM, Stephen Kelly <steveire@gmail.com> wrote: >> I have tried out using `git replace --graft` and >> .git/objects/info/alternates to 'refer to' the history in the origin >> repo instead of 'duplicating' it. This is similar to how Qt5 repos >> refer to Qt 4 history in a different repo. >> >> Question 1) Is this a reasonable thing to do for this scenario? > I think it should work without too much work, but see the answer to > the next question.
Ok, thanks. The concern is that there is plenty of documentation for git-filter-branch, but no documentation or porcelain for info/alternates and little out on the internet about it or git replace and using them together.
However, it seems to be a reasonable thing to do.
Show 6 quoted lines
>> echo "../../calculator/objects" > >> ../.git/modules/compute/objects/info/alternates >> git replace --graft HEAD $extraction_sha > Maybe use the following instead of the above line: > > git fetch 'refs/replace/*:refs/replace/*'
Thanks.
>> # And now we see the history from the calculator repo. Great. But, it >> required user action after the clone. > Yeah, but if the 2 above commands are in a script maybe it's > reasonable to ask the user to launch the script once after cloning.
Would it be possible to do this in a hook in the 'integration repo' which contains both submodules in the example I posted? Like a fetch hook or something?
Thanks,
Steve.