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

[rush] Does Rush only work with Git? #1250

Closed
vman opened this issue Apr 26, 2019 · 3 comments
Closed

[rush] Does Rush only work with Git? #1250

vman opened this issue Apr 26, 2019 · 3 comments
Labels
general discussion Not a bug or enhancement, just a discussion

Comments

@vman
Copy link

vman commented Apr 26, 2019

Does Rush only work with Git change tracking? I see the getting started tutorial does a git add . on any projects being added to the monorepo and #271 also confirms this.

But on this page https://rushjs.io/pages/maintainer/setup_new_repo/ the descriptions for the .gitattributes and .gitignore files contains the text: Delete this file if you’re not using Git.

So is this a documentation bug?

@octogonz
Copy link
Collaborator

octogonz commented Apr 26, 2019

Practically speaking, the entire web community seems to be a Git monoculture. Early on we talked about supporting Mercurial or SVN, but not one person has ever asked for that (so far). No effort has been invested to support it.

However, it should be possible to use Rush in a folder that is not tracked by any versioning system. For example, if I send you a zip archive containing a folder, you should be able to run "rush install" or "rush build" without having to make it into a Git repo or install the Git tools. Certain CI environments also lack Git sometimes. Rush commands that examine Git diffs or obviously need Git aren't expected to work, but everything else should. We test this somewhat regularly, but not enough, so it does get broken. If so please open an issue.

@octogonz octogonz added the general discussion Not a bug or enhancement, just a discussion label Apr 26, 2019
@vman
Copy link
Author

vman commented Apr 26, 2019

Thanks for response @octogonz , yes I was more interested in the "rush build" command detecting the changes in the "library" packages and updating the relevant consumer packages. That doesn't seem to be possible without it being a git repo. Just wanted to confirm whether this was by design and looks like it is. Not a problem for me at this time.

@vman vman closed this as completed Apr 26, 2019
@octogonz
Copy link
Collaborator

FYI this was a performance optimization: we tried caluclating file hashes using JavaScript but it was very slow. Whereas Git already has these hashes precomputed by native code and cached, so it's much faster. So we could remove the Git requirement, but it might be a bad experience

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
general discussion Not a bug or enhancement, just a discussion
Projects
None yet
Development

No branches or pull requests

2 participants