[darcs-users] splitting a repo
Tommy Pettersson
ptp at lysator.liu.se
Wed Jan 5 11:47:20 UTC 2005
On Tue, Jan 04, 2005 at 10:56:27PM -0800, Sean Perry wrote:
> let's say I have a repo:
>
> repo/dir_a
> /dir_b
>
> Is it possible to split out dir_b into its own repo while keeping the
> history?
You can clone the repo (with 'darcs get') and unpull in
each all patches not confined to that sub repo. Any patch
touching both dir_a and dir_b, such as all tags, will make
this impossible. All files will also "remain" in the sub
level directory newrepo/dir_b. You can 'darcs mv' them,
but their history will be ... kept.
An other way could be to rebuild dir_b as a new repo.
Make an empty repo and pull patches from the original repo
until dir_b appears. Now initialize a new repo in dir_b (yes,
darcs can have nested repos) and add/record all in dir_b,
with the same name and author as the just pulled patch.
It's important to be in the right working directory when
issuing darcs commands: inside dir_b darcs will make changes
to the dir_b repo, and in the directory one level up darcs
will make changes to the copy of the original repo (which
now contains also a sub repo).
Then iterate: pull next patch to the copy repo and if it
modifies anything in dir_b, go to dir_b and record the changes
to the dir_b repo. Names and authors can be set the same,
but the original dates will be lost, since darcs record
doesn't have a --date option.
--
Tommy Pettersson <ptp at lysator.liu.se>
More information about the darcs-users
mailing list