[Done] Allow cloning of an existing GitHub Repo to Anvil

I’m starting to get the hang of using GitHub with anvil apps. As this wiki instructed ((Unofficial) Anvil Version Control for Dummies), I have two remotes - one on GitHub and one on Anvil.

It is annoying to manage two remotes and I have made a few messes.

I would be interested in collaboration enhancements in the business plan (other open feature requests) but it all depends on where the Anvil team wants to focus their efforts:

  1. Enhancing collaboration features within Anvil
  2. Making it easier to integrate with tools like GitHub

I’d be happy either way. This post focuses on the latter.

I often like to go into the Anvil IDE and develop there. Commits go to the anvil remote repo which have to be pulled by my local repo and then pushed back up to GitHub to sync up everything. My local repo becomes the necessary middle man between Anvil and GitHub.

I would like to be able to set up an Anvil app, hosted on Anvil, as a clone of a GitHub repo and then push/pull from that GitHub repo from the Anvil IDE. This would simplify my workflow, and I imagine, the workflow of anyone developing with Anvil and GitHub. Even GitHub CodeSpaces is set up to use a clone of the GitHub repo rather than the ‘original’ repo.

A note on pricing. I get that this feature would ‘compete’ with the collaboration features of the business plan. I’d be fine if it was limited to public repos only (I believe streamlit has a limit of 1 private repo + unlimited public repos so they’ve probably thought about this trade-off too). Another option would be rolling it into the business plan as a feature. I would never want to cannibalize a perfectly good pricing tier :slight_smile: .

2 Likes

The Git capabilities from with the Anvil IDE would need to be a limited subset of what you can do from the command line, right? Until recently, it would have been hard for me to picture something like that, but a work project recently has me using GitHub Desktop, which similarly offers you limited Git push/pull functionality via a GUI, and I’ve been impressed with its ability to make Git approachable to colleagues new to it.

1 Like

Yes it would have to be a limited subset. Fetch and pull/push would have to be added, but I don’t think any other capabilities are needed.

1 Like