sapling/hgext
Martin Geisler 19be7012dc largefiles: handle merges between normal files and largefiles (issue3084)
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.
2011-12-09 17:35:00 +01:00
..
convert convert: tolerate trailing spaces on map files 2011-12-02 21:38:57 -02:00
highlight highlight: fix to work with caching templater 2010-04-19 16:47:44 -05:00
inotify building: build inotify for sys.platform='linux*' 2011-09-20 15:21:27 +03:00
largefiles largefiles: handle merges between normal files and largefiles (issue3084) 2011-12-09 17:35:00 +01:00
zeroconf check-code: flag 0/1 used as constant Boolean expression 2011-06-01 12:38:46 +02:00
__init__.py Re-add hgext/__init__.py 2005-09-29 12:49:01 -07:00
acl.py acl: more descriptive error messages 2011-10-06 19:45:26 -03:00
bugzilla.py bugzilla: fix typo in documentation 2011-06-14 20:08:35 -03:00
children.py help: show value requirement and multiple occurrence of options 2010-06-06 17:25:00 +09:00
churn.py scmutil: switch match users to supplying contexts 2011-06-18 16:52:51 -05:00
color.py color: add styles for tags 2011-08-21 20:40:10 +01:00
eol.py merge with stable 2011-07-13 16:29:28 -05:00
extdiff.py extdiff: use ui out descriptor when calling util.system 2011-06-24 17:04:37 +03:00
fetch.py hg: change various repository() users to use peer() where appropriate 2011-06-10 11:43:38 -05:00
gpg.py gpg: use cmdutil.command decorator 2011-05-12 14:31:01 +02:00
graphlog.py graphlog: attempt to fix index overrun (issue2912) 2011-08-10 13:25:35 -05:00
hgcia.py hgcia: Set default value of strip to -1 (issue2891) 2011-07-09 09:44:15 +02:00
hgk.py scmutil: switch match users to supplying contexts 2011-06-18 16:52:51 -05:00
interhg.py interhg: use uisetup() instead of module-load side effects 2010-10-16 18:09:47 -05:00
keyword.py keyword: backout realpath change (issue3071) 2011-10-30 12:10:11 -05:00
mq.py mq: avoid data loss upon qfold + qmv (issue3058) 2011-10-20 16:43:31 +02:00
notify.py notify: rewrite user documentation 2011-07-26 21:30:12 +02:00
pager.py hgext: replace uses of hasattr with util.safehasattr 2011-07-25 20:37:12 -05:00
patchbomb.py patchbomb: drop loop in prompt 2011-09-28 14:49:00 -05:00
progress.py progress: check for ui.quiet and ui.debugflag before we write 2011-12-14 15:41:08 +01:00
purge.py scmutil: switch match users to supplying contexts 2011-06-18 16:52:51 -05:00
rebase.py rebase: ensure target is not taken as external (issue3085) 2011-11-08 17:09:48 +01:00
record.py record: use command wrapper properly for qnew/qrefresh (issue3001) 2011-10-01 15:47:03 -05:00
relink.py hgext: replace uses of hasattr with util.safehasattr 2011-07-25 20:37:12 -05:00
schemes.py util: fix url.__str__() for windows file URLs 2011-12-04 18:22:25 +01:00
share.py share: drop unused import 2011-09-10 17:59:47 -05:00
transplant.py transplant: add --edit option 2011-10-10 23:07:09 -05:00
win32mbcs.py win32mbcs: wrap two more functions to be wrapped. 2011-07-06 18:28:42 +09:00
win32text.py win32text: give deprecation warning 2010-10-25 11:29:32 -05:00