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