10000 adding smart.json - run with 'mrt run' by orefalo · Pull Request #2 · possibilities/meteor-forms · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

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

Open
wants to merge 1 commit into
base: rework
Choose a base branch
from
Open

adding smart.json - run with 'mrt run' #2

wants to merge 1 commit into from

Conversation

orefalo
Copy link
@orefalo orefalo commented Jul 17, 2012

No description provided.

@possibilities
Copy link
Owner

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)

@orefalo
Copy link
Author
orefalo commented Jul 17, 2012

Looking forward to it. It really helps... especially for testing your projects ;-)

I am not familiar with Bundler -> "Automatic locking" what does that mean

@possibilities
Copy link
Owner

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.

@orefalo
Copy link
Author
orefalo commented Jul 17, 2012

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.

@possibilities
Copy link
Owner

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?

@possibilities
Copy link
Owner

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).

@possibilities
Copy link
Owner

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 (;

@orefalo
Copy link
Author
orefalo commented Jul 17, 2012

ok, the lock file records the actual state of the dependencies - most likely using a git commit hash. tks for the details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0