Opened 19 months ago

Closed 5 weeks ago

#8379 closed bug (fixed)

sync-all broken when using the GitHub mirror

Reported by: tibbe Owned by:
Priority: normal Milestone: 7.12.1
Component: Build System Version: 7.7
Keywords: Cc: hvr
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: #8667 Differential Revisions:

Description

Making a fresh checkout using the GitHub mirror:

$ git clone [email protected]:tibbe/ghc.git
$ ./sync-all get
== running git config core.ignorecase true
== running git clone [email protected]:tibbe/ghc-tarballs.git ghc-tarballs
Cloning into 'ghc-tarballs'...
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly
git failed: 32768 at ./sync-all line 178.
== Checking for old haddock repo
== Checking for old binary repo
== Checking for old mtl repo
== Checking for old Cabal repo
== Checking for old time from tarball
============================
ATTENTION!

You have an old time package in your GHC tree!

Please remove it (e.g. "rm -r libraries/time"), and then run
"./sync-all get" to get the new repository.
============================

Attachments (1)

0001-Explain-how-to-clone-GitHub-forks.-Ticket-8379.patch (2.0 KB) - added by thomie 10 months ago.
Update README.md

Download all attachments as: .zip

Change History (15)

comment:1 Changed 19 months ago by leroux

Oops. This is my fault... Could someone revert 0481e076f3cb4010894324cac71e947c6637805a?

EDIT: Nevermind since this is "sane" and "intended" behavior. Unless otherwise disapprove of it.

Last edited 19 months ago by leroux (previous) (diff)

comment:2 Changed 19 months ago by thoughtpolice

The reason this is happening is because the sync-all script was changed to *properly* clone from GitHub (the original version I wrote was broke.) When you clone from your own fork, it attempts to rewrite submodule URLs to github.com/tibbe/<repo>. You probably don't have these repositories under your account, so it breaks because it can't clone them.

IMO this isn't worth fixing, but perhaps explaining on the wiki - the more 'correct' thing to do (which works) is just always clone/pull from github.com/ghc/ghc and set a remote to point to your forks.

Of course I don't feel very strongly about this and if people want this behavior changed that's fine - but I feel I should point out it sort of didn't work before anyway.

comment:4 Changed 19 months ago by tibbe

  • Resolution set to invalid
  • Status changed from new to closed

Makes sense to me.

comment:5 Changed 10 months ago by thomie

Changed 10 months ago by thomie

Update README.md

comment:6 Changed 10 months ago by thomie

  • Resolution invalid deleted
  • Status changed from closed to new

Since more people seem to run into this, someone please update the README. I added a patch.

comment:7 Changed 10 months ago by thomie

  • Status changed from new to patch

comment:8 follow-up: Changed 9 months ago by tibbe

  • Cc hvr added

This is now correctly documented at https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources#GettingaGHCrepositoryfromGitHub. Do we also want to keep this info in the README? If so we should fix the docs there too.

comment:9 in reply to: ↑ 8 Changed 9 months ago by hvr

Replying to tibbe:

This is now correctly documented at https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources#GettingaGHCrepositoryfromGitHub. Do we also want to keep this info in the README? If so we should fix the docs there too.

I guess so, as one of the major uses of the GitHub mirror is if git.haskell.org is down (in which case the GHC Wiki is probably down too) for some reason. Then you'd want to have some instructions that can be found easy.

comment:10 Changed 8 months ago by Austin Seipp <austin@…>

In 89f5f314e32c3e80c71f4b3dcc8835ae74d7d57f/ghc:

Explain how to clone GitHub forks. Ticket #8379.

This information is mirrored at:
http://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources#GettingaGHCrepositoryfromGitHub

Signed-off-by: Austin Seipp <[email protected]>

comment:11 Changed 8 months ago by thoughtpolice

  • Milestone set to 7.10.1
  • Resolution set to fixed
  • Status changed from patch to closed

Merged.

comment:12 Changed 7 months ago by jyrinx

  • Resolution fixed deleted
  • Status changed from closed to new

As far as I can tell, the -r option isn't working:

$ ./sync-all -r git://github.com/ghc get
== running git config core.ignorecase true
== running git submodule init
== running git submodule update
Cloning into 'libffi-tarballs'...
Username for 'https://github.com': lukemaurer
Password for 'https://[email protected]': 
remote: Repository not found.
fatal: repository 'https://github.com/lukemaurer/libffi-tarballs.git/' not found
Clone of 'https://github.com/lukemaurer/libffi-tarballs.git' into submodule path 'libffi-tarballs' failed
git failed: 256 at ./sync-all line 112.
== Checking for old haddock repo
== Checking for old binary repo
== Checking for old mtl repo
== Checking for old Cabal repo
== Checking for old time from tarball
== Checking for obsolete Git repository URL

comment:13 Changed 4 months ago by thoughtpolice

  • Milestone changed from 7.10.1 to 7.12.1

Moving to 7.12.1 milestone; if you feel this is an error and should be addressed sooner, please move it back to the 7.10.1 milestone.

comment:14 Changed 5 weeks ago by tibbe

  • Resolution set to fixed
  • Status changed from new to closed

sync-all is no longer needed as we're now on an all-git setup with submodules.

Note: See TracTickets for help on using tickets.