|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] raisin: Some git-checkout improvements
On Tue, 21 Apr 2015, George Dunlap wrote:
> 1. Switch local variables to lower-case and declare them local.
This is good.
> 2. Cloning git trees from remote repos is often a very long operation.
> Allow the user to specify a faster git cache as a prefix.
>
> 3. At the moment you can either check out a specific changeset or
> "master", but you can't check out a different branch, because git
> doesn't always look in origin/ for the branch. If the initial git
> checkout $tag fails, try checking out origin/$tag before giving up.
I am in two minds about this, because it is still possible for the user
to simply:
LIBVIRT_REVISION="origin/blah"
> Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
> ---
> CC: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
> ---
> defconfig | 3 +++
> lib/git-checkout.sh | 33 ++++++++++++++++++++-------------
> 2 files changed, 23 insertions(+), 13 deletions(-)
>
> diff --git a/defconfig b/defconfig
> index d3ef283..38c7455 100644
> --- a/defconfig
> +++ b/defconfig
> @@ -35,3 +35,6 @@ QEMU_TRADITIONAL_REVISION="master"
> SEABIOS_REVISION="master"
> GRUB_REVISION="master"
> LIBVIRT_REVISION="master"
> +
> +# Git prefix. Use this if you have a git caching proxy.
> +#GIT_PREFIX=""
Are you aware that you can simply specify a directory in the URL
variable?
Also wouldn't it be possible to achieve the same goal with the GIT
environmental variable?
> diff --git a/lib/git-checkout.sh b/lib/git-checkout.sh
> index 2ca8f25..b033504 100755
> --- a/lib/git-checkout.sh
> +++ b/lib/git-checkout.sh
> @@ -1,32 +1,39 @@
> #!/usr/bin/env bash
>
> function git-checkout() {
> + local tree
> + local tag
> + local dir
> +
> if [[ $# -lt 3 ]]
> then
> echo "Usage: $0 <tree> <tag> <dir>"
> exit 1
> fi
>
> - TREE=$1
> - TAG=$2
> - DIR=$3
> + tree=$1
> + tag=$2
> + dir=$3
> +
> + tree=${GIT_PREFIX}$tree
>
> set -e
>
> - if [[ ! -d $DIR-remote ]]
> + if [[ ! -d $dir-remote ]]
> then
> - rm -rf $DIR-remote $DIR-remote.tmp
> - mkdir -p $DIR-remote.tmp; rmdir $DIR-remote.tmp
> - $GIT clone $TREE $DIR-remote.tmp
> - if [[ "$TAG" ]]
> + rm -rf $dir-remote $dir-remote.tmp
> + mkdir -p $dir-remote.tmp; rmdir $dir-remote.tmp
> + $GIT clone $tree $dir-remote.tmp
> + if [[ "$tag" ]]
> then
> - cd $DIR-remote.tmp
> + cd $dir-remote.tmp
> $GIT branch -D dummy >/dev/null 2>&1 ||:
> - $GIT checkout -b dummy $TAG
> + $GIT checkout -b dummy $tag \
> + || $GIT checkout -b dummy origin/$tag
XXX
> cd ..
> fi
> - mv $DIR-remote.tmp $DIR-remote
> + mv $dir-remote.tmp $dir-remote
> fi
> - rm -f $DIR
> - ln -sf $DIR-remote $DIR
> + rm -f $dir
> + ln -sf $dir-remote $dir
> }
> --
> 1.9.1
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |