Otherwise, problems arise when branches depend (via .topdeps) on SHA1s:
$ tg push -r tmp t/____longjmp_chk_cleanup_linux_x86_64
fatal: 77c84aeb81808c3109665949448dba59965c391e cannot be resolved to branch.
fatal: The remote end hung up unexpectedly
---Hello!
I was facing the following problem:
thomas@dirichlet:~/tmp/source/glibc/git/glibc.hurd $ bash -v -x /usr/bin/tg push -r tmp t/____longjmp_chk_cleanup_linux_x86_64
[...]
++ read _dep
++ missing_deps=
++ rm /tmp/tg-depsfile.nCfywI
++ return 0
++ xargs git push tmp
++ sort -u /tmp/tg-push-listfile.sZeHIr
fatal: 77c84aeb81808c3109665949448dba59965c391e cannot be resolved to branch.
fatal: The remote end hung up unexpectedly
rm -f "/tmp/tg-push-listfile.sZeHIr"
+ rm -f /tmp/tg-push-listfile.sZeHIrThat's the actual problem:
thomas@dirichlet:~/tmp/source/glibc/git/glibc.hurd $ git push tmp 77c84aeb81808c3109665949448dba59965c391e
fatal: 77c84aeb81808c3109665949448dba59965c391e cannot be resolved to branch.
fatal: The remote end hung up unexpectedly... which is due to:
$ git show t/____longjmp_chk_cleanup_linux_x86_64:.topdeps
77c84aeb81808c3109665949448dba59965c391eAll other parts (at least those I tested / got to use so far) work just fine when passing SHA1s.
Here is a patch to make this work for tg push, too.
thomas@dirichlet:~/tmp/source/glibc/git/glibc.hurd $ tg push -r tmp t/____longjmp_chk_cleanup_linux_x86_64
Counting objects: 196207, done.
Compressing objects: 100% (32953/32953), done.
Writing objects: 100% (196207/196207), 66.45 MiB | 4047 KiB/s, done.
Total 196207 (delta 163379), reused 191592 (delta 159243)
To /media/Stalin/tmp/glibc
* [new branch] t/____longjmp_chk_cleanup_linux_x86_64 -> t/____longjmp_chk_cleanup_linux_x86_64
* [new branch] refs/top-bases/t/____longjmp_chk_cleanup_linux_x86_64 -> refs/top-bases/t/____longjmp_chk_cleanup_linux_x86_64tg-push.sh | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
Show changes to tg-push.sh +4 −1
diff --git a/tg-push.sh b/tg-push.sh index cd208a0..28cad81 100644 --- a/tg-push.sh +++ b/tg-push.sh @@ -71,6 +71,9 @@ for name in $branches; do $recurse_deps && [ -n "$_dep_is_tgish" ] && no_remotes=1 recurse_deps push_branch "$name" + # filter out plain SHA1s # remove multiple occurrences of the same branch - sort -u "$_listfile" | xargs git push $dry_run "$remote" + grep -vE '^[0-9a-f]{40}$' < "$_listfile" \ + | sort -u \ + | xargs git push $dry_run "$remote" done
-- 1.6.0.4