Re: sharing between local "work" and "nightly build" git repos
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:21
"David Frech" [off-list ref] writes:
I'd like to share as much as possible between the two repos. My naive first attempt was to clone the local repo (~david/git) using -l and -s (which I admit I do not completely understand). This sort of worked, but one issue is that doing a "git pull" in nightly is going to pull from the *locally*-cloned repo, not from the main git. Another is that a checkout in nightly failed with the obscure error: [david@tashtego ~/git-nightly]% git checkout -b nightly-next next git checkout: updating paths is incompatible with switching branches/forcing Did you intend to checkout 'next' which can not be resolved as commit? I assume this is because too much state is being shared the repos, and something is unfinished in the "git" directory.
You assumed wrong. "-l and -s" does not have to do anything with the above symptoms. git-clone helps people by setting up the new repository to follow where you cloned from, but there is no rule that you cannot change it. Look at .git/config in the nightly repository and find [remote "origin"] section; update its URL to whichever repository you would want to track from and you are done. "git checkout -b nightly-next next" is telling git to: - create a new branch nightly-next starting from 'next' - check it out You most likely would want to fork off of "origin/next", not 'next' which probably does not exist in your repository. If you are willing to redo the nightly repository from scratch, I would probably recommend using --reference option when cloning, like this: $ git clone --reference ~david/git git://git.kernel.org/... ~/nightly-git $ cd ~/nightly-git $ git checkout --track -b next origin/next Then a nightly update would go like this: $ cd ~/nightly-git $ git pull origin next $ make clean $ make test || barf