FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > ArchLinux > ArchLinux Pacman Development

 
 
LinkBack Thread Tools
 
Old 07-16-2008, 12:21 AM
"Dan McGee"
 
Default makepkg: speed up svn revision check for large repositories

On Tue, Jul 15, 2008 at 7:15 PM, Dan McGee <dan@archlinux.org> wrote:
> Using the suggestion from FS#10905, use 'svn info' rather than 'svn log' to
> get the current revision number, which is much quicker for large Subversion
> repositories. Eventually git will rule the world.
>
> Signed-off-by: Dan McGee <dan@archlinux.org>
> ---
> scripts/makepkg.sh.in | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index b810d60..2ab2aef 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -1017,7 +1017,7 @@ devel_check() {
> elif [ ! -z ${_svntrunk} ] && [ ! -z ${_svnmod} ] ; then
> [ $(type -p svn) ] || return 0
> msg "$(gettext "Determining latest svn revision...")"
> - newpkgver=$(svn log $_svntrunk --limit 1 -q | sed -n 's/^r([0-9]*) .*$/1/p')
> + newpkgver=$(LC_ALL= LANG= svn info $_svntrunk | sed -n 's/^Last Changed Rev: ([0-9]*)$/1/p')
I settled on this after I saw a similar use case elsewhere in makepkg:
echo "# $(LC_ALL= LANG= date -u)" >>.PKGINFO
I think it makes sense. Let me know if anyone has better ideas.

> elif [ ! -z ${_bzrtrunk} ] && [ ! -z ${_bzrmod} ] ; then
> [ $(type -p bzr) ] || return 0
> msg "$(gettext "Determining latest bzr revision...")"
> --
> 1.5.6.2
>
>

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev
 
Old 07-16-2008, 11:22 AM
"Dan McGee"
 
Default makepkg: speed up svn revision check for large repositories

On Wed, Jul 16, 2008 at 1:45 AM, Xavier <shiningxc@gmail.com> wrote:
> Allan McRae wrote:
>> Dan McGee wrote:
>>> On Tue, Jul 15, 2008 at 7:15 PM, Dan McGee <dan@archlinux.org> wrote:
>>>
>>>> Using the suggestion from FS#10905, use 'svn info' rather than 'svn log' to
>>>> get the current revision number, which is much quicker for large Subversion
>>>> repositories. Eventually git will rule the world.
>>>>
>>>> Signed-off-by: Dan McGee <dan@archlinux.org>
>>>> ---
>>>> scripts/makepkg.sh.in | 2 +-
>>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>>>
>>>> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
>>>> index b810d60..2ab2aef 100644
>>>> --- a/scripts/makepkg.sh.in
>>>> +++ b/scripts/makepkg.sh.in
>>>> @@ -1017,7 +1017,7 @@ devel_check() {
>>>> elif [ ! -z ${_svntrunk} ] && [ ! -z ${_svnmod} ] ; then
>>>> [ $(type -p svn) ] || return 0
>>>> msg "$(gettext "Determining latest svn revision...")"
>>>> - newpkgver=$(svn log $_svntrunk --limit 1 -q | sed -n 's/^r([0-9]*) .*$/1/p')
>>>> + newpkgver=$(LC_ALL= LANG= svn info $_svntrunk | sed -n 's/^Last Changed Rev: ([0-9]*)$/1/p')
>>>>
>>> I settled on this after I saw a similar use case elsewhere in makepkg:
>>> echo "# $(LC_ALL= LANG= date -u)" >>.PKGINFO
>>> I think it makes sense. Let me know if anyone has better ideas.
>>>
>>>
>>
>> From memory, that is the cleaner way to unset the locales so it is all
>> good.
>>
>
> Here is a filtered output of git grep LC_ALL :
>
> contrib/bacman:echo "# $(LC_ALL=C date)" >> .PKGINFO
This one should probably change to match makepkg anyway...

> doc/makepkg.8.txt:seeking help or for other purposes, you may wish to
> run "`LC_ALL=C makepkg`" so
I don't think this one is as big of deal, do you?

> scripts/makepkg.sh.in: echo "# $(LC_ALL= LANG= date -u)" >>.PKGINFO
>
> So maybe we could change the first two for a better consistency?

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev
 
Old 07-16-2008, 11:34 AM
Xavier
 
Default makepkg: speed up svn revision check for large repositories

On Wed, Jul 16, 2008 at 1:22 PM, Dan McGee <dpmcgee@gmail.com> wrote:
>>
>> Here is a filtered output of git grep LC_ALL :
>>
>> contrib/bacman:echo "# $(LC_ALL=C date)" >> .PKGINFO
> This one should probably change to match makepkg anyway...
>
>> doc/makepkg.8.txt:seeking help or for other purposes, you may wish to
>> run "`LC_ALL=C makepkg`" so
> I don't think this one is as big of deal, do you?
>

Well it would be easier to have the same way everywhere, but if LANG=
LC_ALL= is supposed to be safer or more portable or whatever, and
LC_ALL=C is easier to type, then ok.

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev
 
Old 07-16-2008, 11:39 AM
"Dan McGee"
 
Default makepkg: speed up svn revision check for large repositories

On Wed, Jul 16, 2008 at 6:33 AM, Allan McRae <allan@archlinux.org> wrote:
> Dan McGee wrote:
>> On Wed, Jul 16, 2008 at 1:45 AM, Xavier <shiningxc@gmail.com> wrote:
>>
>>> Allan McRae wrote:
>>>
>>>> Dan McGee wrote:
>>>>
>>>>> On Tue, Jul 15, 2008 at 7:15 PM, Dan McGee <dan@archlinux.org> wrote:
>>>>>
>>>>>
>>>>>> Using the suggestion from FS#10905, use 'svn info' rather than 'svn log' to
>>>>>> get the current revision number, which is much quicker for large Subversion
>>>>>> repositories. Eventually git will rule the world.
>>>>>>
>>>>>> Signed-off-by: Dan McGee <dan@archlinux.org>
>>>>>> ---
>>>>>> scripts/makepkg.sh.in | 2 +-
>>>>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>>>>>
>>>>>> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
>>>>>> index b810d60..2ab2aef 100644
>>>>>> --- a/scripts/makepkg.sh.in
>>>>>> +++ b/scripts/makepkg.sh.in
>>>>>> @@ -1017,7 +1017,7 @@ devel_check() {
>>>>>> elif [ ! -z ${_svntrunk} ] && [ ! -z ${_svnmod} ] ; then
>>>>>> [ $(type -p svn) ] || return 0
>>>>>> msg "$(gettext "Determining latest svn revision...")"
>>>>>> - newpkgver=$(svn log $_svntrunk --limit 1 -q | sed -n 's/^r([0-9]*) .*$/1/p')
>>>>>> + newpkgver=$(LC_ALL= LANG= svn info $_svntrunk | sed -n 's/^Last Changed Rev: ([0-9]*)$/1/p')
>>>>>>
>>>>>>
>>>>> I settled on this after I saw a similar use case elsewhere in makepkg:
>>>>> echo "# $(LC_ALL= LANG= date -u)" >>.PKGINFO
>>>>> I think it makes sense. Let me know if anyone has better ideas.
>>>>>
>>>>>
>>>>>
>>>> From memory, that is the cleaner way to unset the locales so it is all
>>>> good.
>>>>
>>>>
>>> Here is a filtered output of git grep LC_ALL :
>>>
>>> contrib/bacman:echo "# $(LC_ALL=C date)" >> .PKGINFO
>>>
>> This one should probably change to match makepkg anyway...
>>
>>
>>> doc/makepkg.8.txt:seeking help or for other purposes, you may wish to
>>> run "`LC_ALL=C makepkg`" so
>>>
>> I don't think this one is as big of deal, do you?
>>
>>
>>> scripts/makepkg.sh.in: echo "# $(LC_ALL= LANG= date -u)" >>.PKGINFO
>>>
>>> So maybe we could change the first two for a better consistency?
>>>
>
> Hmmm, after some google searching. LC_ALL appears to override any other
> LC_* variable and the LANG variable. So "LANG=" here is redundant. I
> couldn't find whether there is a difference between "LC_ALL=C" and
> "LC_ALL=" but I am suspecting there isn't...

Hmm, ok. That does make sense.

Whatever works and is simplest is fine with me, and it would be ideal
for it to work on platforms besides Linux as well.

-Dan

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev
 
Old 07-16-2008, 12:14 PM
Xavier
 
Default makepkg: speed up svn revision check for large repositories

On Wed, Jul 16, 2008 at 1:47 PM, Allan McRae <allan@archlinux.org> wrote:
> More google searching on this and requiring to correct my previous
> assertions... "LC_ALL=C" is equivalent to "LC_ALL=POSIX". Just using
> "LC_ALL=" does require "LANG=" as if LC_ALL is unset it then looks at
> the LANG variable.
>
> So the following all are equivalent (I think...):
> LC_ALL= LANG=
> LC_ALL=C <- my vote
> LC_ALL=POSIX
>

Also, LC_ALL= LANG= does not seem to work if LC_MESSAGES is set.
So I guess you have to use LC_ALL= LANG= LC_MESSAGES=

I would also prefer to just use LC_ALL=C everywhere if that is possible.

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev
 
Old 07-18-2008, 01:15 AM
"Dan McGee"
 
Default makepkg: speed up svn revision check for large repositories

On Wed, Jul 16, 2008 at 7:14 AM, Xavier <shiningxc@gmail.com> wrote:
> On Wed, Jul 16, 2008 at 1:47 PM, Allan McRae <allan@archlinux.org> wrote:
>> More google searching on this and requiring to correct my previous
>> assertions... "LC_ALL=C" is equivalent to "LC_ALL=POSIX". Just using
>> "LC_ALL=" does require "LANG=" as if LC_ALL is unset it then looks at
>> the LANG variable.
>>
>> So the following all are equivalent (I think...):
>> LC_ALL= LANG=
>> LC_ALL=C <- my vote
>> LC_ALL=POSIX
>>
>
> Also, LC_ALL= LANG= does not seem to work if LC_MESSAGES is set.
> So I guess you have to use LC_ALL= LANG= LC_MESSAGES=
>
> I would also prefer to just use LC_ALL=C everywhere if that is possible.

Patches coming for this? Or what did we decide on?

-Dan

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev
 

Thread Tools




All times are GMT. The time now is 12:18 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org