sapling/edenscm/hgext/infinitepush
Jun Wu 6ad31bbf6a codemod: replace os.fdopen with util.fdopen
Summary:
`util.fdopen` now adds workarounds for read+write+seek files on Windows.
This should solve issues we have seen on Windows behaviors.

See https://www.mercurial-scm.org/repo/hg/rev/3686fa2b8eee for the Windows weirdness.

Here is a minimal program to reproduce the weirdness:

```
import os

f = open("a.txt", "wb+")

# Write 12 bytes
f.write(b"b" * 12)

# Read byte slice 2..5
f.seek(2, os.SEEK_SET)
data = f.read(3)

# Try SEEK_END
f.seek(0, os.SEEK_END)
print("%d (expect 12)" % f.tell())  # got 5 using some python.exe
```

Reviewed By: xavierd

Differential Revision: D16033678

fbshipit-source-id: 4f17c463d9bfcc0cdd38d1b15f2a9e38e5b4c132
2019-06-27 13:10:20 -07:00
..
__init__.py infinitepush: add replaybookmarksqueue 2019-06-17 06:19:12 -07:00
bookmarks.py remotenames: applychanges for remotebookmark store 2019-06-27 08:10:58 -07:00
bundleparts.py codemod: replace os.fdopen with util.fdopen 2019-06-27 13:10:20 -07:00
bundlestore.py infinitepush: delay import of sqlindex 2019-05-03 04:09:54 -07:00
client.py infinitepush: log pushes to Scuba 2019-06-03 05:30:44 -07:00
common.py mutation: add bundlerepo support 2019-06-04 04:50:53 -07:00
constants.py infinitepush: remove import cycle 2019-05-02 14:48:34 -07:00
fileindex.py infinitepush: add replaybookmarksqueue 2019-06-17 06:19:12 -07:00
infinitepushcommands.py infinitepush: add replaybookmarksqueue 2019-06-17 06:19:12 -07:00
README codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
server.py codemod: replace os.fdopen with util.fdopen 2019-06-27 13:10:20 -07:00
sqlindex.py infinitepush: add replaybookmarksqueue 2019-06-17 06:19:12 -07:00

## What is it?

This extension adds ability to save certain pushes to a remote blob store
as bundles and to serve commits from remote blob store.
The revisions are stored on disk or in everstore.
The metadata are stored in sql or on disk.

## Config options

infinitepush.branchpattern: pattern to detect a scratchbranch, example
                            're:scratch/.+'

infinitepush.indextype: disk or sql for the metadata
infinitepush.reponame: only relevant for sql metadata backend, reponame to put in
                       sql

infinitepush.indexpath: only relevant for ondisk metadata backend, the path to
                        store the index on disk. If not set will be under .hg
                        in a folder named filebundlestore

infinitepush.storepath: only relevant for ondisk metadata backend, the path to
                        store the bundles. If not set, it will be
                        .hg/filebundlestore