Miklos Vajna wrote: > On Wed, Oct 03, 2007 at 01:25:20PM +0200, Mattias Holmlund <[EMAIL > PROTECTED]> wrote: > >> However, all the modules in the CVS repository have tags. Some of the tags >> are used for all modules (the tags typically represent releases and each >> release consists of code from several modules). When I try to run the >> conversion, tailor exits with the following message: >> > > >> 12:59:23 [I] /lhome/mattias/nobackup/cvs-to-git/tailor-one-git $ git tag -a >> -m BL6 BL6 HEAD >> 12:59:23 [W] [Status 1] >> 12:59:23 [C] Couldn't replay changeset >> 12:59:23 [I] 1 pending changesets in state file >> 12:59:23 [C] Upstream change application failed >> Failure applying upstream changes: >> /lhome/mattias/nobackup/cvs-to-git/tailor-one-git $ git tag -a -m BL6 BL6 >> HEAD returned status 1 >> > > >> If I try to run the offending command manually I get: >> > > >> [EMAIL PROTECTED]:~/nobackup/cvs-to-git/tailor-one-git$ git tag -a -m BL6 >> BL6 HEAD >> tag 'BL6' already exists >> > > >> I guess the following happens: tailor starts with the first module, >> processes all the changesets and sets the correct tags. Then it moves on to >> the second module and tries to set the same tag again. This fails. >> > > >> Is there any way around this? >> > > git tags are just nicknames to commit sha1s. a tag can't point to > multiple sha1s, this is why git tag fails. a possible workaround is to > use prefixes, like MODULE1_BL6 MODULE2_BL6. if this is acceptable to you > then you still need to have support for this in tailor, but at least > then ideally you'll have a workaround > After some more thinking I realised that it doesn't really help if I use prefixes for the tags. The CVS tags are per module, so I can use them to checkout each module in a specific state. The git tags are for the entire repository, so if I checkout tag MODULE2_BL6 I will get the contents of MODULE2 at BL6, but since tailor imports the modules one after the other into the git repository, I will get the contents of MODULE1's HEAD at the time of the import and nothing from MODULE3, since that was imported after MODULE3 into the git-repository. I think I will just have to keep one git-repository per module to get the same behavior as I had with CVS.
Thanks for responding! /Mattias _______________________________________________ Tailor mailing list [email protected] http://lists.zooko.com/mailman/listinfo/tailor
