Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] support/downlaod: fix the Hg backend for tags
@ 2015-08-18 21:35 Yann E. MORIN
  2015-08-22 22:47 ` Arnout Vandecappelle
  2015-08-29  9:45 ` Thomas Petazzoni
  0 siblings, 2 replies; 5+ messages in thread
From: Yann E. MORIN @ 2015-08-18 21:35 UTC (permalink / raw)
  To: buildroot

When the version of a package is a Mercurial tag, the download fails,
with:
    abort: unknown revision 'X.Y.Z'!

This is because, in Mercurial, tags are commits like the others, and
when we clone, we actively request a tag. But then, the server
"dereferences" that tag and sends us the revision pointed to by that
tag. Of course, since the tag is a commit after the revision we got,
we do not have the revision adding the tag.

So, we just have to download the full repository to be sure we have
the tags in our local clone.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 support/download/hg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/support/download/hg b/support/download/hg
index d6654a1..ac1e9b9 100755
--- a/support/download/hg
+++ b/support/download/hg
@@ -25,7 +25,7 @@ repo="${2}"
 cset="${3}"
 basename="${4}"
 
-${HG} clone ${verbose} --noupdate --rev "${cset}" "${repo}" "${basename}"
+${HG} clone ${verbose} --noupdate "${repo}" "${basename}"
 
 ${HG} archive ${verbose} --repository "${basename}" --type tgz \
               --prefix "${basename}" --rev "${cset}" \
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] support/downlaod: fix the Hg backend for tags
  2015-08-18 21:35 [Buildroot] [PATCH] support/downlaod: fix the Hg backend for tags Yann E. MORIN
@ 2015-08-22 22:47 ` Arnout Vandecappelle
  2015-08-23  9:05   ` Yann E. MORIN
  2015-08-23  9:29   ` Yann E. MORIN
  2015-08-29  9:45 ` Thomas Petazzoni
  1 sibling, 2 replies; 5+ messages in thread
From: Arnout Vandecappelle @ 2015-08-22 22:47 UTC (permalink / raw)
  To: buildroot

[Putting our Mercurial expert in Cc]

On 08/18/2015 11:35 PM, Yann E. MORIN wrote:
> When the version of a package is a Mercurial tag, the download fails,
> with:
>     abort: unknown revision 'X.Y.Z'!
> 
> This is because, in Mercurial, tags are commits like the others, and
> when we clone, we actively request a tag. But then, the server
> "dereferences" that tag and sends us the revision pointed to by that
> tag. Of course, since the tag is a commit after the revision we got,
> we do not have the revision adding the tag.
> 
> So, we just have to download the full repository to be sure we have
> the tags in our local clone.
> 
> Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  support/download/hg | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/support/download/hg b/support/download/hg
> index d6654a1..ac1e9b9 100755
> --- a/support/download/hg
> +++ b/support/download/hg
> @@ -25,7 +25,7 @@ repo="${2}"
>  cset="${3}"
>  basename="${4}"
>  
> -${HG} clone ${verbose} --noupdate --rev "${cset}" "${repo}" "${basename}"
> +${HG} clone ${verbose} --noupdate "${repo}" "${basename}"
>  
>  ${HG} archive ${verbose} --repository "${basename}" --type tgz \
>                --prefix "${basename}" --rev "${cset}" \

 Wouldn't it be better to stick to the original way of cloning, and instead
specify the equivalent of HEAD as --rev here? I think that would even be the
default, no?

 Regards,
 Arnout

> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] support/downlaod: fix the Hg backend for tags
  2015-08-22 22:47 ` Arnout Vandecappelle
@ 2015-08-23  9:05   ` Yann E. MORIN
  2015-08-23  9:29   ` Yann E. MORIN
  1 sibling, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2015-08-23  9:05 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On 2015-08-23 00:47 +0200, Arnout Vandecappelle spake thusly:
> On 08/18/2015 11:35 PM, Yann E. MORIN wrote:
> > When the version of a package is a Mercurial tag, the download fails,
> > with:
> >     abort: unknown revision 'X.Y.Z'!
> > 
> > This is because, in Mercurial, tags are commits like the others, and
> > when we clone, we actively request a tag. But then, the server
> > "dereferences" that tag and sends us the revision pointed to by that
> > tag. Of course, since the tag is a commit after the revision we got,
> > we do not have the revision adding the tag.
> > 
> > So, we just have to download the full repository to be sure we have
> > the tags in our local clone.
> > 
> > Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > ---
> >  support/download/hg | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/support/download/hg b/support/download/hg
> > index d6654a1..ac1e9b9 100755
> > --- a/support/download/hg
> > +++ b/support/download/hg
> > @@ -25,7 +25,7 @@ repo="${2}"
> >  cset="${3}"
> >  basename="${4}"
> >  
> > -${HG} clone ${verbose} --noupdate --rev "${cset}" "${repo}" "${basename}"
> > +${HG} clone ${verbose} --noupdate "${repo}" "${basename}"
> >  
> >  ${HG} archive ${verbose} --repository "${basename}" --type tgz \
> >                --prefix "${basename}" --rev "${cset}" \
> 
>  Wouldn't it be better to stick to the original way of cloning, and instead
> specify the equivalent of HEAD as --rev here? I think that would even be the
> default, no?

That would be 'tip' in Mercurial parlance.

And yes, worth a try...

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] support/downlaod: fix the Hg backend for tags
  2015-08-22 22:47 ` Arnout Vandecappelle
  2015-08-23  9:05   ` Yann E. MORIN
@ 2015-08-23  9:29   ` Yann E. MORIN
  1 sibling, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2015-08-23  9:29 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On 2015-08-23 00:47 +0200, Arnout Vandecappelle spake thusly:
> On 08/18/2015 11:35 PM, Yann E. MORIN wrote:
> > When the version of a package is a Mercurial tag, the download fails,
> > with:
> >     abort: unknown revision 'X.Y.Z'!
> > 
> > This is because, in Mercurial, tags are commits like the others, and
> > when we clone, we actively request a tag. But then, the server
> > "dereferences" that tag and sends us the revision pointed to by that
> > tag. Of course, since the tag is a commit after the revision we got,
> > we do not have the revision adding the tag.
> > 
> > So, we just have to download the full repository to be sure we have
> > the tags in our local clone.
> > 
> > Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > ---
> >  support/download/hg | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/support/download/hg b/support/download/hg
> > index d6654a1..ac1e9b9 100755
> > --- a/support/download/hg
> > +++ b/support/download/hg
> > @@ -25,7 +25,7 @@ repo="${2}"
> >  cset="${3}"
> >  basename="${4}"
> >  
> > -${HG} clone ${verbose} --noupdate --rev "${cset}" "${repo}" "${basename}"
> > +${HG} clone ${verbose} --noupdate "${repo}" "${basename}"
> >  
> >  ${HG} archive ${verbose} --repository "${basename}" --type tgz \
> >                --prefix "${basename}" --rev "${cset}" \
> 
>  Wouldn't it be better to stick to the original way of cloning, and instead
> specify the equivalent of HEAD as --rev here? I think that would even be the
> default, no?

OK, I tried using "--rev tip" and it does work.

There's a very slight difference when cloning eigen; they have a
.hgarchival.txt file that contains some info about the repo, and that
file slightly differs in both cases. Since it is a file generated by
Mercurial, and it is not in the repository, it's not a big problem.

Still, I think the cleanest is the patch I proposed.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] support/downlaod: fix the Hg backend for tags
  2015-08-18 21:35 [Buildroot] [PATCH] support/downlaod: fix the Hg backend for tags Yann E. MORIN
  2015-08-22 22:47 ` Arnout Vandecappelle
@ 2015-08-29  9:45 ` Thomas Petazzoni
  1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2015-08-29  9:45 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Tue, 18 Aug 2015 23:35:04 +0200, Yann E. MORIN wrote:
> When the version of a package is a Mercurial tag, the download fails,
> with:
>     abort: unknown revision 'X.Y.Z'!
> 
> This is because, in Mercurial, tags are commits like the others, and
> when we clone, we actively request a tag. But then, the server
> "dereferences" that tag and sends us the revision pointed to by that
> tag. Of course, since the tag is a commit after the revision we got,
> we do not have the revision adding the tag.
> 
> So, we just have to download the full repository to be sure we have
> the tags in our local clone.
> 
> Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  support/download/hg | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied to next, thanks (after fixing the minor typo in the commit
title). I've also committed a follow-up patch that makes the eigen
package use a Mercurial tag.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-08-29  9:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-18 21:35 [Buildroot] [PATCH] support/downlaod: fix the Hg backend for tags Yann E. MORIN
2015-08-22 22:47 ` Arnout Vandecappelle
2015-08-23  9:05   ` Yann E. MORIN
2015-08-23  9:29   ` Yann E. MORIN
2015-08-29  9:45 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox