Mon, 27 Jul 2015 21:27:24 -0400 dirstate: ensure mv source is marked deleted when walking icasefs (issue4760) stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 27 Jul 2015 21:27:24 -0400] rev 25877
dirstate: ensure mv source is marked deleted when walking icasefs (issue4760) Previously, importing a case-only rename patch on a case insensitive filesystem caused the original file to be marked as '!' in status. The source was being forgotten properly in patch.workingbackend.close(), but the call it makes to scmutil.marktouched() then put the file back into the 'n' state (but it was still missing from the filesystem). The cause of this was scmutil._interestingfiles() would walk dirstate, and since dirstate was able to lstat() the old file via the new name, was treating this as a forgotten file, not a removed file. scmutil.marktouched() re-adds forgotten files, so dirstate got out of sync with the filesystem. This could be handled with less code in the "kind == regkind or kind == lnkkind" branch of dirstate._walkexplicit(), but this avoids filesystem accesses unless case collisions occur. _discoverpath() is used instead of normalize(), since the dirstate case is given first precedence, and the old file is still in it. What matters is the actual case in the filesystem.
Mon, 27 Jul 2015 17:39:09 -0400 extdiff: allow modifications in subrepos to be copied back stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 27 Jul 2015 17:39:09 -0400] rev 25876
extdiff: allow modifications in subrepos to be copied back This check was a legacy bit from when the file data was being fetched manually with 'ctx[wfn]', but archive() does that now. 49966b5ab16f seems to indicate that this avoided a problem where a merge adds a file to another branch, and that test still passes. Unfortunately, I don't see a way to create a test that modifies the file in the temporary directory before the command exits. I wonder if the os.lstat() call needs to be wrapped in an exception handler for the case where archive didn't create a file because the file didn't exist in that revision. But I wasn't able to trigger a problem without it on a real repository.
Mon, 27 Jul 2015 22:14:40 +0900 ignore: fix path concatenation of .hgignore on Windows stable
Yuya Nishihara <yuya@tcha.org> [Mon, 27 Jul 2015 22:14:40 +0900] rev 25875
ignore: fix path concatenation of .hgignore on Windows Since 3de48ff62733, .hgignore is ignored on Windows because a pat may have a drive letter, but pathutil.join is posixpath.join. "z:\foo\bar/z:\foo\bar\.hgignore" Instead, this patch uses os.path.join() and util.localpath() to process both parts as file-system paths. Maybe we can remove os.path.join() at dirstate._ignore because 'include:' is resolved relative to repo root? It was introduced by a04c7b74b3d5.
Sun, 26 Jul 2015 09:28:52 -0300 repair: fix typo in warning message stable
Wagner Bruna <wbruna@yahoo.com> [Sun, 26 Jul 2015 09:28:52 -0300] rev 25874
repair: fix typo in warning message
Sun, 26 Jul 2015 18:05:10 +0800 monoblue: link to branches on summary page stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 26 Jul 2015 18:05:10 +0800] rev 25873
monoblue: link to branches on summary page "Tags" and "Bookmarks" sections on this page already have the similar links, and so does the "Branches" on summary page in gitweb, so let's do the same in monoblue.
Sun, 26 Jul 2015 17:18:42 +0800 monoblue: fix branches link on help topics page stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 26 Jul 2015 17:18:42 +0800] rev 25872
monoblue: fix branches link on help topics page
Sun, 26 Jul 2015 00:11:23 +0800 hgweb: show ages in repos' Last modified column in monoblue and gitweb stable
Anton Shestakov <av6@dwimlabs.net> [Sun, 26 Jul 2015 00:11:23 +0800] rev 25871
hgweb: show ages in repos' Last modified column in monoblue and gitweb Index page, which shows the list of available repositories, has a column where the last modification date for each repo is shown. paper, coal and spartan already show the dates in relative format (e.g. "2 weeks ago"), because these styles have the required process_dates() js function call in their footer templates, which are included on every page. But monoblue and gitweb styles have more things in the footer templates, such as repo name and its atom/rss links, so they don't include the footer on index page (as this page doesn't have a single repo context). Let's call process_dates() without including the footer.
Fri, 24 Jul 2015 16:44:52 -0700 ignore: fix include: rules depending on current directory (issue4759) stable
Durham Goode <durham@fb.com> [Fri, 24 Jul 2015 16:44:52 -0700] rev 25870
ignore: fix include: rules depending on current directory (issue4759) When reading pattern files, we just call open(path), which is relative to the current directory. Let's fix this by resolving the paths before attempting to read the file.
Fri, 24 Jul 2015 16:43:21 -0700 test: move ignore test run into a subdirectory stable
Durham Goode <durham@fb.com> [Fri, 24 Jul 2015 16:43:21 -0700] rev 25869
test: move ignore test run into a subdirectory Previously the hgignore test just called hg init in the test directory. A future patch needs to test hgignore stuff from outside of the repo, so let's move the entire test repo into a subdirectory.
Mon, 13 Jul 2015 13:13:17 +0800 monoblue: show relative age of bookmarks stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 13 Jul 2015 13:13:17 +0800] rev 25868
monoblue: show relative age of bookmarks In b24e5a708fad, age calculation was made dynamic (i.e. in javascript), but for some reason bookmarkentry template in monoblue/map got a wrong class. It resulted in /summary and /bookmarks pages always showing exact dates for bookmarks, no age calculation was performed. Let's fix this by using "age" class that is already used in branchentry and tagentry templates in the same map file. As usual, the exact date for such elements is still available in title attribute, so it shows in a tooltip on hover.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip