##// END OF EJS Templates
overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)...
Kyle Lippincott -
r39163:95bd19f6 default
parent child Browse files
Show More
@@ -2033,6 +2033,13 b' class overlayworkingctx(committablectx):'
2033 return keys
2033 return keys
2034
2034
2035 def _markdirty(self, path, exists, data=None, date=None, flags=''):
2035 def _markdirty(self, path, exists, data=None, date=None, flags=''):
2036 # data not provided, let's see if we already have some; if not, let's
2037 # grab it from our underlying context, so that we always have data if
2038 # the file is marked as existing.
2039 if exists and data is None:
2040 oldentry = self._cache.get(path) or {}
2041 data = oldentry.get('data') or self._wrappedctx[path].data()
2042
2036 self._cache[path] = {
2043 self._cache[path] = {
2037 'exists': exists,
2044 'exists': exists,
2038 'data': data,
2045 'data': data,
@@ -509,3 +509,31 b' Test --confirm option when there is a co'
509 o 0:cb9a9f314b8b test
509 o 0:cb9a9f314b8b test
510 a
510 a
511
511
512 #if execbit
513
514 Test a metadata-only in-memory merge
515 $ cd $TESTTMP
516 $ hg init no_exception
517 $ cd no_exception
518 # Produce the following graph:
519 # o 'add +x to foo.txt'
520 # | o r1 (adds bar.txt, just for something to rebase to)
521 # |/
522 # o r0 (adds foo.txt, no +x)
523 $ echo hi > foo.txt
524 $ hg ci -qAm r0
525 $ echo hi > bar.txt
526 $ hg ci -qAm r1
527 $ hg co -qr ".^"
528 $ chmod +x foo.txt
529 $ hg ci -qAm 'add +x to foo.txt'
530 issue5960: this was raising an AttributeError exception
531 $ hg rebase -r . -d 1
532 rebasing 2:539b93e77479 "add +x to foo.txt" (tip)
533 saved backup bundle to $TESTTMP/no_exception/.hg/strip-backup/*.hg (glob)
534 $ hg diff -c tip
535 diff --git a/foo.txt b/foo.txt
536 old mode 100644
537 new mode 100755
538
539 #endif
General Comments 0
You need to be logged in to leave comments. Login now