Upstreaming Facebook extensions

Jun Wu quark at
Mon Nov 13 22:12:31 EST 2017

Excerpts from Matt Harbison's message of 2017-11-13 21:50:29 -0500:
> I see some things are being upstreamed out of the hg-experimental repo on  
> Bitbucket, but I haven't seen mention of how these are being selected.   
> I'm interested in the absorb and lfs extensions.  The former works great  
> on Linux in my limited use, but the linelog module dependency doesn't  
> build on Windows.  I only found the latter today, so I haven't used it  
> much other than to run the tests.
> Are there any (other) showstoppers, and/or design TBDs to getting these  
> bundled?  I should be able to throw some time at this if it helps  
> (especially the LFS extension, as there's a need for it at work).

I think difficulty of upstreaming cleanly is the main deciding factor. So
"commitextras" got upstreamed first, then "uncommit/unamend/directaccess".

For absorb, it needs to migrate away from using Cython, and has a pure
implementation. Unfortunately I cannot prioritize this work for now.

For LFS, it has been used in a repo synced from p4 for about half a year.
It's mostly good except for lack of features (ex. support the Git-LFS SSH
authentication, support gc, etc.). It was actually written with some extra
care of upstream-friendliness. For example, I put remotefilelog integration
in remotefilelog instead of LFS intentionally.

Help is definitely welcomed!

More information about the Mercurial-devel mailing list