[PATCH RFC] rename manifest command to files

Adrian Buehlmann adrian at cadifra.com
Fri Apr 29 17:55:00 CDT 2011


(a friendly reminder: please don't top post)

On 2011-04-30 00:00, Jason Harris wrote:
> Just my 2c but...
> 
> Files seems too generic to me...

I don't think so.

'hg files' could be (warning: that's not how 'hg manifest' is currently
implemented):

  $ hg files -r .

  -> show the files in the first parent revision

  $ hg files

  -> show the working dir files (includes added but not yet
     committed files)

  $ hg file -r a6342b342

  -> show all files in that revision

  $ hg files --all

  -> show all files that have been committed in any revision of
     the repo

So we might end up subsuming under 'hg files': "the files known by
Mercurial in some way").

> Manifest is telling you:

Almost nothing, especially if you see in the first line of the help text:

"output the current or given revision of the project manifest"

So, it's telling you that a manifest is a manifest ;-)

IMHO manifest is quite confusing, since the user naturally asks the
question "what files are in x" and not "please give me your manifest",
which almost sounds like that's something the communist party has
written :-) (especially for non-English users, like for example Germans).

> manifest (2):
> noun
> a document giving comprehensive details of a ship and its cargo and other contents, passengers, and crew for the use of customs officers.
> • a list of passengers or cargo in an aircraft.
> • a list of the cars forming a freight train.

Which is quite meaningless in the scope of a VCS. What is your aircraft
here?

FWIW, in the scope of an aircraft, I would expect to have a command

  $ hg passengers

Which would be quite expressive.

Manifest is an isolated artificial term in Mercurial, which doesn't
appear anywhere else on the user interface (setting debugland aside).

We already have the concepts of revisions, files, changesets, tags,
bookmarks, branches and heads in Mercurial. These all make sense for a
user. But manifest is a weird artificial term on the user interface of a
VCS. As already hinted in my patch change message: it's a notion leaking
from the implementation level.


More information about the Mercurial-devel mailing list