Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Git compatibility #84

Closed
Kinrany opened this issue Sep 2, 2021 · 5 comments
Closed

Git compatibility #84

Kinrany opened this issue Sep 2, 2021 · 5 comments

Comments

@Kinrany
Copy link

Kinrany commented Sep 2, 2021

For organizations and individuals wanting to try Eden, it would help to know going back to Git is possible if something goes wrong.

A few options:

  1. Export Eden repo as a Git repo, preserving history.
  2. Run a Git mirror backed by a (subdirectory of an) Eden repo. Read-only, read and write.
  3. Run an Eden mirror backed by a Git repo.

Is this something you've considered? To what extent does this compatibility make sense given the differences between Git and Eden?

@ahornby
Copy link
Contributor

ahornby commented Sep 2, 2021

For 1 and 2 we have somewhat similar functionality outside of Eden that is taking the Eden hosted internal repo and syncing changes to the GitHub repo. I don't think that tooling is publicly available.

If and when we add git protocol support do then that may provide an Eden native way to get a git repo from an Eden repo. No timeline for this at present.

For 3, we have some early git import functionality underway, see eden/mononoke/git/gitimport/src/main.rs

@fredemmott
Copy link
Contributor

fredemmott commented Sep 13, 2021

I don't think that tooling is publicly available.

It is - https://github.com/facebook/fbshipit :)

It also supports git -> eden, though the code for that is primarily used for importing pull requests rather than automated mirroring; in theory, both the sync pipelines ('shipit') and pull request pipelines ('importit') can be set up to/from any supported repo, not just eden-source-of-truth to github mirror.

one caveat: it expects the eden CLI to be called hg

@fredemmott
Copy link
Contributor

Oh, a bigger caveat: it assumes a linear history. It can get very confused by merge commits

@ahornby
Copy link
Contributor

ahornby commented Feb 15, 2022

Eden CLI and Mononoke now build and test on GitHub actions. Probably you could import a git repo to Mononoke to test end to end with https://github.com/facebookexperimental/eden/blob/main/eden/mononoke/git/gitimport/src/main.rs, but I'm afraid there's no docs describing the process as yet.

@yancouto
Copy link
Contributor

A lot changed with the recent Sapling release. We now provide and support pre-built binaries that interop with Git. See the docs, and open another issue if you still have problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants