Yann Dirson wrote:
Here is my first try at working with branches with tailor.
This patch applies to current tailor from the darcs repo.

Attached: the patch, and the sample config I used to test it against a
public repo.


Thanks a lot, I'll try to review/apply your changes ASAP.

Some quick comments:

Possible improvements:

- the parent-repo parameter is probably generic enough to be useful
for other targets, but it is currently a git-target parameter only

Yes. No problem, I'll try to abstract as much as possible.


- the change to tailor.py to avoid loosing the initial commit log on
the imported branch probably breaks all other targets because of the
previous issue

Uhm, I did not understand, but I'll look at the diff again.


- autodetection of the branchpoint would be great, but that surely
deserves to be done in core tailor

Again, no problem, given a reasonable plan.


- I'll have a try next to add support for pushing git branches to cvs
ones: that will give us a real 2-way sync between cvs and git

Yup!


- I could not make the cvsps source work to verify it fetches tags
better than the cvs one

Care to report the problem? I'll stick a note on attaching some test cases for cvsps...


- the "projects" parameter has to be specified explicitely to force
the ordering of branch imports - I would have expected the declaration
order to be used.

Eh, silly ConfigParsers :-|


- it would probably be cleaner to have the *Repository classes in
repository.py moved into their own files: currently we have to modify
a generic file to add backend-specific options, that's not really
generic.  What about loading the necessary class when it is found
mentionned in the config ?

Yes, this is really something I'd like to improve, This is even planned for http://progetti.arstecnica.it/tailor/milestone/VersionTwo.



Comparison with git-cvsimport

- tailor can give strange results in some cases, but I believe it is
more correct than git-cvsimport.  An example is when the cvs branch
you import does not exist in some files for any reason (I had a branch
only for the src/ dir - corrected that now): in that case tailor
correctly shows deletions for those files in the branch initial
commit, whereas git-cvsimport only works on changes, and does not do
anything special (this may be cvsps doing magic behind his back).

- run against a local copy of the repository, tailor is orders of
magnitude slower than git-cvsimport (git-cvsimport returned instantly
on my repo), some profiling has to be done.

Good! I took the liberty of adding this to http://progetti.arstecnica.it/tailor/wiki/GitRepository, hope that's ok.

ciao, lele.
_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor

Reply via email to