All this discussion about format compatibility is interesting, but I think it misses the point.
Here is the common use case as I see it:
* Getting branch from http.
* Do some work.
* Push branch to [s]ftp.
Automatic upgrade from v6 when getting into a repository indeed breaks roundtripping in that case. However that requires an explicit user action: setting up and using the local repository.
Which one is the easier to explain (assuming a number of new features) how to use repositories:
* To take advantage shared storage in a repository, just branch into the repository. Unless the source branch is v6 format, then you have use "branch --upgrade". If you want to publish a branch readable by bzr-0.7, use "push --format=v6" when initially pushing the branch.
* To take advantage of shared storage in a repository, just branch into the repository. If you want to publish a branch readable by bzr-0.7, use "push --format=v6" when initially pushing the branch.
I agree with jblack, upgrade to metadir should be automatic when branching into a repository.
In addition, push (branch, clone?) should have a format option.
It is just annoyingly complicated to explain how to use repositories, when it should be simpler. Especially since v6 branches will stay around for a while. They are fast enough for small branches that it's not worth the trouble of upgrading to knits.
All this discussion about format compatibility is interesting, but I think it misses the point.
Here is the common use case as I see it:
* Getting branch from http.
* Do some work.
* Push branch to [s]ftp.
Automatic upgrade from v6 when getting into a repository indeed breaks roundtripping in that case. However that requires an explicit user action: setting up and using the local repository.
Which one is the easier to explain (assuming a number of new features) how to use repositories:
* To take advantage shared storage in a repository, just branch into the repository. Unless the source branch is v6 format, then you have use "branch --upgrade". If you want to publish a branch readable by bzr-0.7, use "push --format=v6" when initially pushing the branch.
* To take advantage of shared storage in a repository, just branch into the repository. If you want to publish a branch readable by bzr-0.7, use "push --format=v6" when initially pushing the branch.
I agree with jblack, upgrade to metadir should be automatic when branching into a repository.
In addition, push (branch, clone?) should have a format option.
It is just annoyingly complicated to explain how to use repositories, when it should be simpler. Especially since v6 branches will stay around for a while. They are fast enough for small branches that it's not worth the trouble of upgrading to knits.