Comment 4 for bug 37915

Revision history for this message
David Allouche (ddaa) wrote :

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.