Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   ArchLinux Pacman Development (http://www.linux-archive.org/archlinux-pacman-development/)
-   -   makepkg: check if $dir is a local clone of the right git repo (http://www.linux-archive.org/archlinux-pacman-development/693133-makepkg-check-if-dir-local-clone-right-git-repo.html)

Allan McRae 08-12-2012 07:00 AM

makepkg: check if $dir is a local clone of the right git repo
 
On 12/08/12 10:24, Mohammad Alsaleh wrote:
> Before this patch, makepkg does not check if $dir is a local clone of
> the right repo.
>
> For example, git fetch would be run even if $dir is not a local
> bare clone of a git repo in present in source(), but a subdir of
> a checked-out one. That means makepkg can potentially fetch from
> a completely unrelated remote and update completely unrelated
> dirs/files.
>
> This patch adds a check to make sure we are fetching from the right
> remote.
>
> Signed-off-by: Mohammad Alsaleh <msal@i2pmail.org>

Looks good.

Can we also do something like this for svn and hg?

> ---
> scripts/makepkg.sh.in | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index 6c0e821..7ec523c 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -404,8 +404,14 @@ download_git() {
> exit 1
> fi
> elif (( ! HOLDVER )); then
> - msg2 "$(gettext "Updating %s %s repo...")" "${repo}" "git"
> cd_safe "$dir"
> + # Make sure we are fetching the right repo
> + if [[ "$url" != "$(git config --get remote.origin.url)" ]] ; then
> + error "$(gettext "%s is not a clone of %s")" "$dir" "$url"
> + plain "$(gettext "Aborting...")"
> + exit 1
> + fi
> + msg2 "$(gettext "Updating %s %s repo...")" "${repo}" "git"
> if ! git fetch --all -p; then
> # only warn on failure to allow offline builds
> warning "$(gettext "Failure while updating %s %s repo")" "${repo}" "git"
>


All times are GMT. The time now is 03:59 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.