[Chandler-dev] How we develop post Preview : SVN topology
Grant Baillie
grant at osafoundation.org
Tue Sep 11 11:58:28 PDT 2007
On 11 Sep, 2007, at 10:13, Robin Dunn wrote:
> Grant Baillie wrote:
>> On 10 Sep, 2007, at 15:33, Reid Ellis wrote:
>>> Hear, hear. I would especially like to hear more about how Grant
>>> works with svk. Or perhaps I should just search back in the mail
>>> archives for when he talked about it before.
>> I think what you'll find is a link to the wiki page where I wrote
>> it all up:
>> <http://chandlerproject.org/Journal/GrantBaillieSvkNotes>
>
> Grant,
>
> Can you either share or replicate a svk depot across multiple
> machines?
You can, but if you want to sync up changes you need a server (svn)
somewhere. You could serve up the SVK repository directly (since it
is actually a svn repository), but I believe that wouldn't work
correctly.
BTW, my understanding of Mercurial is that if you want "tight
integration with an upstream repository", that can't be a subversion
repository, right?
--Grant
> I currently use Mercurial to do my local work, but mainly for the
> ability to replicate changes across all my development machines (7
> of them) without needing to involve the upstream repository until I
> am finished with the new feature. Mercurial can also be used as
> you are using svk, tracking all changes in a tighter integration
> with the upstream repository, but I didn't feel like I needed that
> so didn't go that far. In a nutshell my workflow is something like
> this:
>
> * I have a single workspace on a single machine where I check out a
> working copy of a specific branch from the upstream version control
> (svn, cvs, whatever) and I also store all of this working copy in a
> Mercurial repository. (Except for the .svn dirs, as they tend to
> contain empty directories and Mercurial doesn't deal with those
> very well yet.)
>
> * This repository is then pushed/pulled out to other working copies
> on other machines as needed.
>
> * When I'm working on a new change I do my initial work on one
> platform, which platform depends on the nature of the change, but
> doesn't matter as far as Mercurial is concerned. When I'm ready to
> try it out on the others I check-in the change to the local
> Mercurial repository.
>
> * I then switch to the other platforms and pull the change(s) into
> their local repositories, and test, tweak, etc. as needed,
> committing any additional changes that were needed on that platform.
>
> * I repeat this until the change is fully functional and fully
> tested on all platforms, and then I make sure that all changes are
> pushed to the original repository that is also the upstream
> repository working copy. I then commit the change to the main svn
> or cvs or whatever.
>
> * When I update from upstream I just do a normal svn update
> command, check-in the changes to the local Mercurial repository,
> and then push/pull those changes as needed to all the other
> repositories so they are all synced with the upstream repository.
>
>
> This approach doesn't maintain all of my little per-platform micro-
> changes as distinct change sets in the upstream repository, but
> most of the time I wouldn't want it to anyway. I just want the end-
> result to be tracked as a single change there, and so this method
> works very well for me.
>
>
> --
> Robin Dunn
> Software Craftsman
> http://wxPython.org Java give you jitters? Relax with wxPython!
>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "chandler-dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/chandler-dev
More information about the chandler-dev
mailing list