logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

Real-world darcs scenario (was: Win32 build of darcs again): msg#00237

Subject: Real-world darcs scenario (was: Win32 build of darcs again)
libogen . wrote:
I'd like to see how both systems handle the following scenario:

I'll share a few hints, because darcs is so radically different from conventional RCS systems like CVS or even Subversion. This is not your parent's RCS!

i. At a certain point in the development of a webpage (which belongs to a repository) there may be two different approaches to complete a certain task eg. XSL transform a set of XML files.
ii. Dev continues based on approach A until the task is complete.
iii. Curious as to whether approach B would be better, I checkout the revision of the webpage which existed at stage i.

Here, you are creating a branch. With darcs, this probably means creating a second repository. Most likely, you would use "get" to pull based on a tag in the original repo.

Contrast that with CVS, where you would be adding a new branch to the single, centralized repo.

iv. Dev continues using approach B in parallel until the task is complete.
v. The completed webpages based on both approaches are compared and the one based on approach B is selected. vi. The redundant approach A's revisions are removed from the repository leaving a complete history of the revisions to the webpage based only on approach B.

With darcs, the A code was never in the B repo, and vice versa. So the B repo becomes the official repo, the entire A repo is deleted, and it is as if A never happened.

If you want to bring some or all of A into B, you can, using "pull". In fact, if other development is continuing that is common to both A and B, you'll be pushing or pulling those changes between A and B on a regular basis.

Note also that the B repo might be a copy on your local hard drive. Even if A is public, B does not have to be. This represents the power of a distributed RCS, where you can create a private fork without needing permission.

I'm also keen to locate both system's repositories at my webhost and access them using ssh but my current hosting plan doesn't include shell access so I'll have to put in a request and cross fingers!

I used ftp to mirror my local repo up to a web host for a while. It's not ideal, but if your repo is small it's workable.

Kevin


<Prev in Thread] Current Thread [Next in Thread>