[PATCH 05/18] dim: support git worktree for aux checkouts
Daniel Vetter
daniel.vetter at ffwll.ch
Fri Oct 21 19:36:47 UTC 2016
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
+ 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
--
2.9.3
More information about the dri-devel
mailing list