bug-hurd
[Top][All Lists]
Advanced

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

Re: Exporting libc patches


From: Thomas Schwinge
Subject: Re: Exporting libc patches
Date: Thu, 13 Oct 2011 17:16:59 +0200
User-agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/23.3.1 (i486-pc-linux-gnu)

Hi!

On Wed, 23 Mar 2011 14:30:17 +0100, ludo@gnu.org (Ludovic 
=?iso-8859-1?Q?Court=E8s?=) wrote:
> I’m looking at how to export patches from the
> ‘tschwinge/Roger_Whittaker’ branch to continuously test on Hydra whether
> they still apply to upstream glibc.
> 
> To that end, the idea I had was to do something along these lines:
> 
>    git checkout tschwinge/Roger_Whittaker
> 
>    tg export --linearize for-upstream-glibc

> However, export fails:
> 
> --8<---------------cut here---------------start------------->8---
> $ tg export --linearize for-upstream-glibc
> exported commit t/kernel-features.h_includes
> exported commit t/libc_once
> exported commit t/struct_stat
> 
> [...]
> 
> skip empty commit t/bits_socket.h
> skip empty commit t/fcntl-internal.h
> Auto-merging sysdeps/mach/hurd/kernel-features.h
> CONFLICT (content): Merge conflict in sysdeps/mach/hurd/kernel-features.h
> fix up the merge and update the index.  Don't commit!

Hmm.  From tg help export: ``Note that you might get conflicts during
linearization because the patches are reordered to get a linear
history.''  However, this does work for me:

    $ tg export export
    Collapsing t/init-first.c
    Collapsing t/kernel-features.h_includes
    Collapsing t/libc_once
    Collapsing t/struct_stat
    Collapsing t/tls
    Collapsing t/tls-threadvar
    Collapsing t/tlsdesc.sym
    [...]
    Collapsing t/mmap
    Collapsing t/eglibc_backports
    Collapsing t/repair-mach_devstream.c
    Collapsing t/O_CLOEXEC
    Collapsing t/pagesize
    Collapsing t/opendirat
    Collapsing tschwinge/Roger_Whittaker
    error: duplicate parent 187da0aedcd9d0a2fb34477bef41549681ba1273 ignored
    error: duplicate parent 187da0aedcd9d0a2fb34477bef41549681ba1273 ignored
    error: duplicate parent 187da0aedcd9d0a2fb34477bef41549681ba1273 ignored
    error: duplicate parent 187da0aedcd9d0a2fb34477bef41549681ba1273 ignored
    error: duplicate parent 187da0aedcd9d0a2fb34477bef41549681ba1273 ignored
    Exported topic branch tschwinge/Roger_Whittaker (total 50 topics) to branch 
export
    $ git diff --stat export tschwinge/Roger_Whittaker
     .topdeps |   46 ++++++++++++++++++++++++++++++++++++++++++++++
     .topmsg  |    7 +++++++
     2 files changed, 53 insertions(+), 0 deletions(-)

> And with ‘--quilt’:
> 
> --8<---------------cut here---------------start------------->8---
> $ tg export --quilt for-upstream-glibc
> Exporting t/init-first.c
> Exporting t/kernel-features.h_includes
> Exporting t/libc_once
> 
> [...]
> 
> Skip empty patch t/ld.so_auxv
> Exporting t/grantpt
> Exporting posix/regex_internal.c/MAX_undefined
> tg: fatal: cancelling export of t/__i686_defined (-> 
> tschwinge/Roger_Whittaker): branch not up-to-date
> --8<---------------cut here---------------end--------------->8---

This should/does (now?) work, too:

    $ tg export --quilt export
    Exporting t/init-first.c
    Exporting t/kernel-features.h_includes
    Exporting t/libc_once
    Exporting t/struct_stat
    Exporting t/tls
    Exporting t/tls-threadvar
    Exporting t/tlsdesc.sym
    [...]
    Exporting t/mmap
    Exporting t/eglibc_backports
    Exporting t/repair-mach_devstream.c
    Exporting t/O_CLOEXEC
    Exporting t/pagesize
    Exporting t/opendirat
    Skip empty patch tschwinge/Roger_Whittaker
    Exported topic branch tschwinge/Roger_Whittaker (total 44 topics) to 
directory export


> ‘tg patch’ doesn’t even produce a patch:
> 
> --8<---------------cut here---------------start------------->8---
> $ tg patch| cat
> From: Thomas Schwinge <thomas@schwinge.name>
> Subject: Roger Whittaker
> 
> Not for upstream submission.
> 
> Currently used by Thomas Schwinge for building cross toolchains / testing /
> development.
> 
> ---
> No changes.
> -- 
> tg: (f09337f..) tschwinge/Roger_Whittaker (depends on: baseline 
> t/init-first.c t/kernel-features.h_includes t/libc_once t/struct_stat t/tls 
> t/tls-threadvar t/tlsdesc.sym t/bits_atomic.h_multiple_threads 
> t/bits_stdio-lock.h t/ptrmangle t/check_native t/_dl_random t/gscope 
> t/strtoul_PLT t/kernel-features.h_includes t/socket_flags t/socketpair_flags 
> t/pipe2 t/dup3 t/accept4 t/bits_sched.h t/dl-sysdep.c_SHARED 
> t/__rtld_lock_recursive_t t/____longjmp_chk t/unwind-resume.c t/extern_inline 
> t/unwind-resume.c t/ld.so_auxv t/grantpt posix/regex_internal.c/MAX_undefined 
> t/__i686_defined)
> --8<---------------cut here---------------end--------------->8---

This is expected, as the tschwinge/Roger_Whittaker TopGit branch doesn't
contain any changes on its own, but just merges all the topic branches.


> A further complication is that ‘tg remote --populate’ did not fetch the
> ‘baseline’ branch, which is consequently reported as a missing
> dependency.  Running ‘git branch --track baseline origin/baseline’
> solves the problem, [...].
> 
> Any suggestions?

I could perhaps turn baseline into a TopGit branch, and have it depend on
a commit via a SHA1.  I'll have to think about this some more.


Grüße,
 Thomas

Attachment: pgpzZ7KwUkvYt.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]