[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [OSSTEST PATCH] build_clone: git clean newly cloned trees



On 29/10/15 15:57, Ian Jackson wrote:
> This may seem redundant, however:
>
> git does not track empty directories.  So it can happen that a
> directory is created as part of `git clone', but is empty in the
> revision switched to with `git checkout'.
>
> In this situation, the tree we are going to build ought not to contain
> this directory, because that directory will not (in general) be
> produced, eg when the revision being switched to becomes master.
>
> We can use git clean to produce a working tree whose contents -
> including the presence or absence of empty directories - depends only
> on the commit we are trying to check out, and not on the previous
> states of the git history or working tree.
>
> For example, if a directory is made empty (ie, deleted, since git does
> not distinguish) in xen.git#staging, osstest's clones of
> xen.git#master will produce the directory, but `git checkout' of
> staging won't delete it.  If the xen.git build system mistakenly
> depends on this directory, we won't detect this until the deletion
> reaches master.  This situation actually occurred with xen.git#598e97f
> "tools/python: remove broken xl binding" (fixed in b261366f).
>
> Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> CC: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

> ---
>  Osstest/TestSupport.pm |    1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
> index f9eba6b..aa41952 100644
> --- a/Osstest/TestSupport.pm
> +++ b/Osstest/TestSupport.pm
> @@ -1231,6 +1231,7 @@ END
>  END
>                           (length($r{"revision_$which"}) ? <<END : ''));
>           git checkout '$r{"revision_$which"}'
> +         git clean -xdf
>  END
>      } else {
>          die "$vcs $which $tree ?";


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.