-
Notifications
You must be signed in to change notification settings - Fork 1
adding smart.json - run with 'mrt run' #2
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
base: rework
Are you sure you want to change the base?
Conversation
sweet thanks!, both pull requests look the same though¿ btw, you don't need to explicitly say "branch": "master" because it's the default. also btw, we're v close to releasing a big meteorite update, biggest thing is it generates a smart.lock so you get automatic locking (like bundler) |
Looking forward to it. It really helps... especially for testing your projects ;-) I am not familiar with Bundler -> "Automatic locking" what does that mean |
In a nutshell... when you install for the first time it makes a file (smart.lock) that records all the dependencies and exactly what version they are at. If smart.lock and smart.json never change mrt won't touch anything. If smart.json changes it will make sure desired versions are installed and update smart.lock. There will be an update command if you want to update one or all packages (which updates the lock file). An important part of smart.lock is you check it into your repo so that all developers are working with the same dependency versions. |
hum.. I am afraid I don't see the diff with smart.json. I can edit the file and change the version in it too: on the next mrt run, meteorite will checkout the right version of the dependency. |
The lock file is autogenerated and mostly you just ignore it (you just check it into version control anytime it changes and never edit it). An example of how the lock file helps out... you start a new app and it depends on a smart package called "cool-tool" and you specify it as a dependency pointing to the 'devel' branch of the repo in the smart.json. You install everything using mrt and commit the lock file. Next you work on it for a couple days. I think your project is cool so I download it and install the deps with mrt... cool-tool has moved on several thousand commits but I'm all set because mrt will use the lock file to make sure I have the same version as you. Maybe this gets more poignant when there's a central repo? |
And then you get an update command to explicitly tell mrt to update a package (or every package) to the latest version which will in turn update the smart.lock... I pull the changes and next time I run mrt it will bitch at me about not having the correct vers (or something). |
Basically we're just aping ruby's bundler tool. Just wanted to say that out loud comes across this and thinks I think I'm making this up (; |
ok, the lock file records the actual state of the dependencies - most likely using a git commit hash. tks for the details. |
No description provided.