[Intel-gfx] [PATCH 05/10] dim: support git worktree for aux checkouts
Jani Nikula
jani.nikula at linux.intel.com
Tue Oct 18 13:38:37 UTC 2016
On Tue, 18 Oct 2016, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> If available by default. This saves quite a pile of disk-space that
> imo making it the default is justified.
>
> Note that this will break the rebuild-nightly script for now,
> follow-up patches will fix that.
>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> ---
> dim | 23 ++++++++++++++++-------
> 1 file changed, 16 insertions(+), 7 deletions(-)
>
> diff --git a/dim b/dim
> index 90eb553c6575..80baf24e4ad7 100755
> --- a/dim
> +++ b/dim
> @@ -1072,15 +1072,24 @@ function setup_aux_checkout # name remote
> echo "Setting up $dir ..."
>
> if [ ! -d $dir ]; then
> - git clone --reference=$DIM_PREFIX/$DIM_DRM_INTEL/.git $remote_url $dir
> - cd $dir
> - git config remote.origin.url $remote_url
> - echo "$DIM_PREFIX/$DIM_DRM_INTEL/.git/objects" > .git/objects/info/alternates
> - git repack -a -d -l
> - remote=origin
> + if git help worktree &> /dev/null ; then
> + cd $DIM_PREFIX/$DIM_DRM_INTEL
> + remote=`get_remote_name $remote_url`
> + if ! git branch | grep $name > /dev/null ; then
The failure modes are annoying if there's a substring match for
$name. Unfortunately grep -w is no good if you need to handle "-" too.
> + git branch --track $name $remote/$name
> + fi
> + git worktree add ../$dir $name
> + else
> + git clone --reference=$DIM_PREFIX/$DIM_DRM_INTEL/.git $remote_url $dir
> + cd $dir
> + git config remote.origin.url $remote_url
> + echo "$DIM_PREFIX/$DIM_DRM_INTEL/.git/objects" > .git/objects/info/alternates
> + git repack -a -d -l
> + remote=origin
> + fi
> else
> cd $dir
> - remote=`get_remote_name $drm_intel_ssh`
> + remote=`get_remote_name $remote_url`
> fi
> if ! git branch | grep $name > /dev/null ; then
> git checkout -t $remote/$name
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list