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