mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 07:49:11 +03:00
A Scalable, User-Friendly Source Control System.
19be7012dc
The largefiles extension prevents users from adding a normal file named 'foo' if there is already a largefile with the same name. However, there was a loop-hole: when merging, it was possible to bring in a normal file named 'foo' while also having a '.hglf/foo' file. This patch fixes this by extending the manifest merge to deal with these kinds of conflicts. If there is a normal file 'foo' in the working copy, and the other parent brings in a '.hglf/foo' file, then the user will be prompted to keep the normal file or the largefile. Likewise for the symmetric case where a normal file is brought in via the second parent. The prompt looks like this: $ hg merge foo has been turned into a largefile use (l)argefile or keep as (n)ormal file? After the merge, either the '.hglf/foo' file or the 'foo' file will have been deleted. This would cause status to return output like: $ hg status M foo R foo To fix this, the lfiles_repo.status method is changed so that a removed normal file isn't shown if there is largefile with the same name, and vice versa for largefiles. |
||
---|---|---|
contrib | ||
doc | ||
hgext | ||
i18n | ||
mercurial | ||
tests | ||
.hgignore | ||
.hgsigs | ||
CONTRIBUTORS | ||
COPYING | ||
hg | ||
hgeditor | ||
hgweb.cgi | ||
Makefile | ||
README | ||
setup.py |
Mercurial ========= Mercurial is a fast, easy to use, distributed revision control tool for software developers. Basic install: $ make # see install targets $ make install # do a system-wide install $ hg debuginstall # sanity-check setup $ hg # see help See http://mercurial.selenic.com/ for detailed installation instructions, platform-specific notes, and Mercurial user information.