Proper tracking of file-level operations: rename, directories, merges
Eli Zaretskii
eliz at gnu.org
Mon Oct 24 17:04:41 UTC 2011
> Cc: bazaar at lists.canonical.com, bazaar-bounces at lists.canonical.com,
> ben+bazaar at benfinney.id.au
> From: John Yates <john.yates at us.ibm.com>
> Date: Mon, 24 Oct 2011 10:39:48 -0400
>
> Eli Zaretskii wrote:
>
> > No, you can say "bzr mv --after foo bar", to correct that mistake
> > after the fact.
>
> It is not that I occasionally forget to use "bzr mv" in lieu of simple mv.
> No, I philosophically do not believe this is the proper user experience.
> It reveals a fundamentally command-line-centric design in which users are
> expected to keep in mind at all time that they are using a version control
> system and therefore to modify their behavior appropriately.
I don't see why. I see no reason why a UI front-end, or even a simple
file manager, couldn't invoke the VCS back-end when I rename or move a
file. After all, we do expect such UIs to show us the version
information and even the fact that the file is versioned.
> From that perspective "bzr mv --after" is an even more egregious UI
> mistake.
That option exists to correct mistakes. It's a fire escape. It
should not be judged as something you use every day.
> "bzr mv" and "bzr mv --after" work only if one performs one's own renames
> at the command-line. Use an IDE or similar tool and bzr gets reduced to
> inferring renames.
See above: I don't see why this should be so. It's a question of how
well your tools are integrated, I guess.
> So whether one's version control tool can be encouraged to infer
> renames prior to commit and to actually record those renames or
> instead simply infers them after the fact (a la git) seems a
> difference without a distinction.
>
> Don't get me wrong. I am a bzr fan and booster. I simply have never
> accepted that the explicit recording of renames is an important virtue.
I'm not saying that tracking renames is a panacea of some kind. But
one situation where I appreciate its existence is when I need to do
some forensics, like find out when was a certain change done, by whom,
and what did the code look like before the change. Without reliable
tracking of renames, you will be sooner or later presented with a
completely bogus information. At that point, even if you know the
file was renamed, you have a very non-trivial job on your hands.
More information about the bazaar
mailing list