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

Comments

Projects
None yet
2 participants
@vman
Copy link

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

This comment has been minimized.

Copy link
Collaborator

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.

@vman

This comment has been minimized.

Copy link
Author

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 Apr 26, 2019

@octogonz

This comment has been minimized.

Copy link
Collaborator

commented Apr 26, 2019

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
You can’t perform that action at this time.