Hi, After talking with a few people about it over the last few weeks, and seeing some difficulties that people face with merge-upstream, I'd like to start a discussion of what could be done to improve it.
I have some ideas, but please present any others you have. 1) The obvious one, watch file intergration. We don't have to make you give the URL of the tarball if you have a watch file. This has been the intent from the first day I wrote merge-upstream, and the reason why "--version" is a mandatory option right now, I just haven't got around to it. I'd be more than happy to help someone implement this. The uscan part isn't too hard, you just have to run it with a certain combination of options and parse the resulting xml-like. The only difficulty is threading it in to the maze of code to deal with all the optional arguments. I'd love to clean that up and get this feature in. 2) Another obvious one, fixing bugs. I've just found another "incosistent delta" bug, and there are probably more. Getting them fixed would make it more reliable. There may be other classes of bug to fix too. 3) Improved conflicts. I'm not sure this is really merge-upstream specific, but often people have difficulty understanding why a conflict happened, especially with this command it seems. I know there has been some work on improving the conflict experience, and I'm not sure if that has had an impact here yet. 4) Remembering the upstream branch. merge-upstream takes an optional upstream branch. Currently there are cases where one person supplies it, but the next doesn't, and that's not ideal, as you get a discontinuity, and there can be extra conflicts in future due to added files. Therefore I would like if if, similar to e.g. bzr merge, if you supply a branch once it is remembered and used again. However, I don't want to have it merge a completely unrelated revision of some branch which you never told it to use (but someone else did previously.) Therefore I was considering the following: bzr merge-upstream --version 1 tarball branch remembers branch, and then bzr merge-upstream --version 2 tarball will re-use branch. However, it will look for a tag "2" in the branch, and if found that is the revision it will use. If it is not found it will error and demand one of -r or --no-branch. That way it shouldn't merge completely unrelated things. There's room for future improvements there, to have an "upstream tag scheme", and I'm not exactly sure how to handle that in a nice way, but that's why it's a future improvement. Thanks, James -- ubuntu-distributed-devel mailing list ubuntu-distributed-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-distributed-devel