Ketil Malde wrote:
> Ben Franksen <[EMAIL PROTECTED]> writes:
> 
>>> Can I convert my working repos to darcs-2?  
> 
>> No. You cannot push or pull between darcs-2 format repos and darcs-1 or
>> hashed format repos. This might not be optimal but is understandable, since
>> the theory underlying the darcs-2 repository format is different.
> 
> So if I'm pulling from/pushing to a darcs-2-format repo, my local repo
> must be darcs-2 as well?

Yes, I believe the contexts of a pre-conversion darcs-1 format 
repo/branch and darcs-2 format repository will probably have 
incompatible differences.  I believe this is why the conversion process 
changes the last tag in the repository to a patch named "old tag: Tag 
Name" to help drive the point home, but I'm not certain about that...

If you try pushing to a darcs-1 repository from a darcs-2 repository, 
darcs will stop you immediately with a format version check and you get 
the message:

darcs failed:  Incompatibility with repository {{path}}:
Cannot mix darcs-2 repositories with older formats

>> The more important problem is that conversion to darcs-2 format doesn't
>> support multiple branches at all. 
> 
> To make this perfectly clear: this is the *conversion process* only,
> you can still have multiple branches *after* all repos have been
> synced to a single conversion. Right?)

Yeah, darcs-2-format works the exact same as darcs-1 format with regard 
to fact that every copy of a repository is a branch.  The conversion 
process is what doesn't handle multiple branches because apparently 
conversions are not idempotent, that is in some cases you may see a 
patch convert differently each time it is converted making the two 
repositories incompatible.  David Roundy suggests it is much better not 
to risk the incompatibility, but I guess you are free to attempt to 
ignore his warning prefacing darcs convert and attempt parallel darcs 
conversion.

> Should something like this work?
> 
>     darcs convert main main-2
>     cd branch
>     mv _darcs old_darcs
>     cp -a ../main-2/_darcs .
>     darcs rec -am "amalgam of changes in 'branch'"

Yep, that would work.  Perhaps the easiest way is to convert a 
"superset" branch (ie, an "unstable" branch with everything but perhaps 
the kitchen sink encompassing an integration of most project branches) 
and then rebuild branches through darcs get then darcs unpull.

I believe Lele also suggested that Tailor could help you preserve the 
history of a branch when converting to darcs 2...

--
--Max Battcher--
http://www.worldmaker.net/
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to