[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
pgpzZ7KwUkvYt.pgp
Description: PGP signature