Jelmer Vernooij wrote:
> At the moment ignore files in the three major distributed version
> control systems (git, mercurial, bzr) are versioned inside of the tree.
> The names and syntaxes of these files are different, so it is not
> possible to import data from one system and then have ignores work
> magically on the other.
> If you convert e.g. a mercurial branch to a bazaar branch you end up
> with a .hgignore file that Bazaar will not use. Converting this file to
> a .bzrignore file on the fly seems ideal but is not possible for a
> couple of reasons:
> * there is no one-to-one lossless back and forth mapping (and not
> losslessly mapping would mean breaking referential integrity)
> * what if a .bzrignore file is already present?
> Right now the working tree determines what format ignore files are
> supported. It would be nice if Bazaar could support reading and updating
> whatever ignore file is present rather than supporting just .bzrignore.
> This could for example be done through a registration mechanism.
> Of course, it would still be nice if ignores could be tree metadata
> rather than part of the tree contents. This proposal does not conflict
> with such a change.
Speaking to Rusty a few years back at a conference, I'm pretty sure he
had put some thought into getting bzr/git/hg all supporting a common
.vcsignore spec. I'm not sure how far he took the idea. Rusty?
If someone hasn't done it already, I think it would be interesting to
find out how the syntaxes differ and to see if it was possible to get a
(large) common subset supported by all 3 tools, even if they kept the
currently named files. (File-name differences are annoying but the
semantic differences are the main challenge I suspect.)
I'd also be keen to see the fast-import spec extended with a feature
called 'ignores' so we could more intelligently exchange these, import
ignores from CVS, Subversion, etc.
Mailing list: https://launchpad.net/~vcs-fast-import-devs
Post to : email@example.com
Unsubscribe : https://launchpad.net/~vcs-fast-import-devs
More help : https://help.launchpad.net/ListHelp