Here’s what happened: 1. Our central repository with the full complement of largefiles went down 2. I published my personal copy as a new central repository 3. People pushed to it and now it’s ahead of the old repository, including new largefiles 4. I’ve regained access to the old repository
Question: How do I transfer largefiles from the old central repository to the new central repository so it has a full complement? I must do so while preserving any new largefiles that have since been pushed to the new repository. Alternatively: what is the right thing to do in this situation such that I end up with a fully complete central repository with all new and old largefiles? The problem with the new central repository is that cloning to a machine that has an empty local largefile cache crashes server side (and hangs client side at “getting changed largefiles”) with: 2019-08-19 22:19:23.846 [cgi-pool-722] WARN sonia.scm.web.cgi.DefaultCGIExecutor - Traceback (most recent call last): File "/home/scm-server/.scm/lib/python/hgweb.py", line 51, in <module> wsgicgi.launch(application) File "/usr/lib/python2.7/dist-packages/mercurial/hgweb/wsgicgi.py", line 87, in launch for chunk in content: File "/usr/lib/python2.7/dist-packages/mercurial/hgweb/hgweb_mod.py", line 310, in run_wsgi for r in self._runwsgi(req, repo): File "/usr/lib/python2.7/dist-packages/mercurial/hgweb/hgweb_mod.py", line 350, in _runwsgi return protocol.call(rctx.repo, req, cmd) File "/usr/lib/python2.7/dist-packages/mercurial/hgweb/protocol.py", line 111, in call rsp = wireproto.dispatch(repo, p, cmd) File "/usr/lib/python2.7/dist-packages/mercurial/wireproto.py", line 575, in dispatch return func(repo, proto, *args) File "/usr/lib/python2.7/dist-packages/mercurial/wireproto.py", line 651, in batch result = func(repo, proto, *[data[k] for k in keys]) File "/usr/lib/python2.7/dist-packages/hgext/largefiles/proto.py", line 88, in statlfile filename = lfutil.findfile(repo, sha) File "/usr/lib/python2.7/dist-packages/hgext/largefiles/lfutil.py", line 102, in findfile path, exists = findstorepath(repo, hash) File "/usr/lib/python2.7/dist-packages/hgext/largefiles/lfutil.py", line 212, in findstorepath if instore(repo, hash): File "/usr/lib/python2.7/dist-packages/hgext/largefiles/lfutil.py", line 193, in instore return os.path.exists(storepath(repo, hash, forcelocal)) File "/usr/lib/python2.7/genericpath.py", line 26, in exists os.stat(path) TypeError: stat() argument 1 must be encoded string without null bytes, not str 2019-08-19 22:19:23.850 [qtp1763847188-30] WARN sonia.scm.web.HgCGIExceptionHandler - Mercurial/Python process ends with return code 1 Server side mercurial version is 4.0 (from Debian 9’s default repo). Thank you for your time, Ansis.
_______________________________________________ Mercurial mailing list Mercurial@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial