Remembering an URL different from the one the user entered is surprising

Bug #569361 reported by Jasper St. Pierre on 2010-04-24
This bug affects 4 people
Affects Status Importance Assigned to Milestone

Bug Description

I was trying to pull from a repository that Launchpad had said had been last updated "9 days ago", but "bzr log" said it had been last updated in February. It was then that I realized that the branch linked to "lp:project" had been changed, but bazaar was still trying to pull from the old path. I found this a little strange, I originally branched from "lp:project" and what I had to do to solve it was "bzr pull lp:project". Shouldn't bzr try to keep the unresolved path around, so it can track any changes to what it links to?

Vincent Ladeuil (vila) wrote :

Note that bzr should still have the *old* url in branch.conf, you can check that with 'bzr info'.
You can update it with 'bzr pull --remember <new_url>'.

As for whether bzr should remember 'lp:project' or how it is translated into when first used (bzr+ssh://<project_devs>/<project>/<development_focus>/, the debate is still open, both are valid use cases so we may want an option to decide.

IMHO, we should remember what the user entered on the command line and I think there is a bug open about that. Doing so will allow the user to specify the bzr+ssh form instead of the lp form.

Changed in bzr:
importance: Undecided → Wishlist
status: New → Confirmed
summary: - Bazaar should track both the unresolved path for directory namespace
- URLs
+ Remembering an URL different from the one the user entered is surprising
Jasper St. Pierre (jstpierre) wrote :

I'm curious what the valid use cases are for this behavior; the one I've heard seems misguided:

 "lp:mysql was once the stable branch for the latest released version. If I pulled and got a version change from 5.0 to 5.1, I wouldn't like that semantic change."

My reaction seems to be a little distasteful. I wouldn't expect "lp:mysql" to be a specific stable version, I'd expect it to be a development branch. If it was "lp:mysql-stable" I would always expect to get the latest stable version. If I wanted 5.0 to be 5.0 and stay 5.0 I'd branch "lp:mysql/5.0"

The main reason is that lp: lookups are implemented as a directory
service, not a transport - and this is because URL algebra does not
work on them (but does on transports and we really would have ugly
code if we change that axiom).

We can and should look at preserving the original url.


Jelmer Vernooij (jelmer) on 2017-11-09
tags: added: check-for-breezy
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers