Hi Everyone,
So I am working to learn the ins and out of monticello but the available documentation isn't super detailed. I figured I would look towards some documentation for other DVCSs and see if the general principles could help guide me through Monticello. Hg-init is one of my favorite tutorials, so I thought I would try to work through it using monticello, and mapping as best as I could onto a fairly mainstream DVCS model. So I have created a package and made some edits and saved them to a local monticello repository on disk. Now I would like to send my changes to some hypothetical "central" repository that me and the rest of the team are working off of. This would be the equivalent of a "push" in mercurial. If I select the "central" repository in the Monticello Browser and click save, it pops up a commit message window and looks like it will be saving a new version of my package into the central repository, even though I haven't made any changes to the package. On the other hand I can also open my local repository and copy the last revision into the central repository. Which of these is considered the standard way of using Monticello. Or should I be doing something completely different? Is trying to map "hg push" onto Monticello completely wrong-headed? Please let me know and I will keep trying to soldier on. Thanks for your help, Jeff G. _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Hi Jeff,
> > Which of these is considered the standard way of using Monticello. Or > should I be doing something completely different? Is trying to map "hg > push" onto Monticello completely wrong-headed? Please let me know and > I will keep trying to soldier on. > copy and a second save differ in that the next save gives you the next version number but zero changes. I assume two different versions from the same author with a zero diff only will create confusion. That said, I'm no expert and cannot vouch for a standard way. I always save to my local repository and then directly copy to the other repos, mainly because it's very convenient this way. I don't have to add more than one repository to every package because copy will offer all known repositories. Curious if others do it different. Cheers Herbert _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by Jeff Gonis-2
On 2012-10-04, at 23:22, Jeff Gonis <[hidden email]> wrote:
> Hi Everyone, > > So I am working to learn the ins and out of monticello but the available documentation isn't super detailed. I figured I would look towards some documentation for other DVCSs and see if the general principles could help guide me through Monticello. Hg-init is one of my favorite tutorials, so I thought I would try to work through it using monticello, and mapping as best as I could onto a fairly mainstream DVCS model. > > So I have created a package and made some edits and saved them to a local monticello repository on disk. Now I would like to send my changes to some hypothetical "central" repository that me and the rest of the team are working off of. This would be the equivalent of a "push" in mercurial. If I select the "central" repository in the Monticello Browser and click save, it pops up a commit message window and looks like it will be saving a new version of my package into the central repository, even though I haven't made any changes to the package. On the other hand I can also open my local repository and copy the last revision into the central repository. > > Which of these is considered the standard way of using Monticello. Short answer: Copy. > Or should I be doing something completely different? Is trying to map "hg push" onto Monticello completely wrong-headed? Please let me know and I will keep trying to soldier on. Long answer: It's a valid question. And while Monticello does *not* treat repositories like hg or git etc., don't worry, because at its core, MC is extremely simple: Every package version in MC is self-contained. There is no logic in the repository, only in each version file. An MC repository is nothing more than a collection of versions. On disk, it's a collection of MCZ files. Similarly on WebDAV (e.g., squeaksource). Each MCZ contains a *full* snapshot of the sourcecode, and a *full* copy of the metadata, including *all* its history. Yes that's wasteful, but it's also TSTTCPW. Knowing that, "pushing" a version to a remote HTTP repository is simply uploading the MCZ per WebDAV. It's copying a version from one directory to another, so that's what the "copy" button does. "Committing" a version to a repository means taking a snapshot of the source code, adding a new version info to the history, and saving that to a file on your disk (the package cache directory) and possibly to another repository. That's what the "save" button does, but you knew that already :) - Bert - _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Free forum by Nabble | Edit this page |