What is the best way to auto-synchronize two computers?
Here's the setup:
• 1 laptop, my primary computer, which I take with me almost everywhere, and
• 1 desktop, which I would love to make more use of, but I *really* don't want to manually sync files back and forth between machines
• Both are Apples running OS X 10.5 (“Leopard”), which I believe is UNIX under-the-hood. I'm not an expert on the command line (Terminal) by any means, so I pretty much just know the basics: how to get around, mv stuff, and how to follow instructions to compile open source stuff.
Here's what I would like to do:
• Use Bazaar to allow my personal code/programming projects to synchronize between both machines
• If scripts/hooks or some other magic I'm not aware of could make this happen automatically whenever my laptop hops onto the wireless network at home, that would be great.
• Otherwise, I'd like to have the everyday aspect of syncing be as minimal as possible (as few commands as possible to sync the code). I'm comfortable executing commands for commits and so on, in order to keep a detailed history of my code.
Here's my dilemma:
• Although I have been familiar with the *absolute* basics of VCS for a long time, I have never had regular use of one. Bazaar's decentralized nature makes it especially attractive for someone like me to keep a personal revision history.
• However, although the Bazaar documentation is *excellent* (great work, authors! keep it up!), there is understandably a lot of effort devoted to differentiating Bazaar from other VCS tools. (I know of CVS, but the only other such tool I have dabbled in is Subversion.) Because Bazaar strives to be so flexible and accomodate people used to different workflows, I have a very hard time distinguishing which features are considered the “pure Bazaar way” vs. those that are provided as “convenience / comfort” features for those migrating from other VCS tools.
• When I look at the tremendous expanse of possible workflows, I am a bit too overwhelmed to choose a setup and feel confident that I am not shortchanging myself on something.
• The above applies in general to my understanding of Bazaar, but in particular I am fuzzy on working trees. In the centralized model, because the history is in the central repository, checking out a working tree makes sense (because it's necessary). I get the sense that working trees are not really necessary in Bazaar, yet because of familiarity with other tools like Subversion, the concept of working trees keeps being mentioned.
Question #1:
• Is it really necessary to keep a working tree with Bazaar? Or can you just work directly on the branch, commit changes along the way, and then (in my laptop + desktop scenario) tell my other machine `bzr update` and that's it?
Question #2:
• I am intrigued by the “smart server” feature. Could this be used in my scenario to provide any benefits over just running plain `bzr`?
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Bazaar Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Zearin
- Solved:
- Last query:
- Last reply: