JohnSundell / SwiftPlate

Easily generate cross platform Swift framework projects from the command line
MIT License
1.77k stars 88 forks source link

Command line option for local cloning of templates? #22

Closed idcrook closed 7 years ago

idcrook commented 7 years ago

Resolving this issue could be helpful for Template development/maintenance and testing.

Noticed as I was testing Template changes that SwiftPlate always clones from the main GitHub repo. It would be useful to have a command line switch to clone instead from the local clone on the filesystem. Something like --local-clone

If it is running from inside a cloned git repository, and the flag is specified,rather than cloning from GitHub, it could instead git clone from the local filesystem.

JohnSundell commented 7 years ago

This is a great idea - it would make continous development on SwiftPlate a lot easier! 👍 How about we make SwiftPlate auto-detect if it's running inside of its own repository, and then it simply uses that repo instead of cloning a master? That way we don't need to specify additional flags.

idcrook commented 7 years ago

I think that would make sense, since would already need to detect/ascertain the local git repo for the feature to work correctly.

One thing to consider in that case would be a way to force it to use GitHub repo to clone from... so that one could compare changes one might have made, alongside two output directories... 😄 or a --clone-from [REPO_URL]. I like the smart simplicity approach too, so I can understand the bias to try to avoid command line options and switches if possible.

JohnSundell commented 7 years ago

This has now been implemented here 🎉!

I skipped the implicit repo-finding for now, in favor of a --repo command line argument.