|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |