[darcs-users] creating tags after the fact (was: finding the patch where...)

Ben Coburn btcoburn at silicodon.net
Fri Nov 30 02:13:23 UTC 2007


On Nov 29, 2007, at 14:14, Nathan Gray wrote:

> [...]
>
> This particular repository is an import from CVS and contains 18K
> darcs patches, and the patches I need to unpull are several hundred or
> thousands back.
>
> My goal on this project is to create darcs tags at the appropriate
> places marking our production versions, which I have only as tarballs
> of source code.
>
> Is it possible to create a tag by listing the patches that should be
> included, while leaving out other patches in the repository?  Though I
> still have to figure out which patches I need and which I do not.
>
> -kolibrie
>


Yes, I wrote some code to do this for special repository usage  
semantics a few months ago. Here's some ideas on how to do this....

1) darcs only
Create a new blank repository. Pull in only the patches you want to  
tag. Create a tag. Send and apply the tag back to the full  
repository. Remove the temporary repository used to create the tag.  
Note: This will probably be way too slow for such a large number of  
patches.

2) forge the tag
Use darcs changes with XML output to gather information on the  
patches you want in your tag. Forge a fake output file from darcs  
send with a tag listing all the patches you want to tag. Apply the  
forged tag to the full repository.

Note for both approaches: I think darcs optimize --reorder-patches  
will commute the tags into the proper dependency location. This is  
probably a good idea once you have got the tags into the full  
repository.

Regards, Ben Coburn




More information about the darcs-users mailing list