Tue, 07 Dec 2010 03:29:21 +0100 merge: fast-forward merge with descendant
Mads Kiilerich <mads@kiilerich.com> [Tue, 07 Dec 2010 03:29:21 +0100] rev 13158
merge: fast-forward merge with descendant issue2538 gives a case where a changeset is merged with its child (which is on another branch), and to my surprise the result is a real merge with two parents, not just a "fast forward" "merge" with only the child as parent. That is essentially the same as issue619. Is the existing behaviour as intended and correct? Or is the following fix correct? Some extra "created new head" pops up with this fix, but it seems to me like they could be considered correct. The old branch head has been superseeded by changes on the other branch, and when the changes on the other branch is merged back to the branch it will introduce a new head not directly related to the previous branch head. (I guess the intention with existing behaviour could be to ensure that the changesets on the branch are directly connected and that no new heads pops up on merges.)
Wed, 08 Dec 2010 22:14:18 -0600 record: teach parsepatch() about non-git style headers
Steve Borho <steve@borho.org> [Wed, 08 Dec 2010 22:14:18 -0600] rev 13157
record: teach parsepatch() about non-git style headers These changes are not useful to record itself, since it is hard coded to always generate git style diffs. But it makes parsepatch() more generally useful for parsing normal patch files.
Mon, 13 Dec 2010 10:30:15 -0500 template: add showbranch template for {branch}
Eric Eisner <ede@mit.edu> [Mon, 13 Dec 2010 10:30:15 -0500] rev 13156
template: add showbranch template for {branch} Like showbranches, but always yields exactly one branch. Replaces the less correct {branches|nonempty}.
Mon, 29 Nov 2010 09:37:23 +0100 subrepo: avoids empty commit when .hgsubstate is dirty (issue2403)
Erik Zielke <ez@aragost.com> [Mon, 29 Nov 2010 09:37:23 +0100] rev 13155
subrepo: avoids empty commit when .hgsubstate is dirty (issue2403) This patch avoids empty commit when .hgsubstate is dirty. Empty commit was caused by .hgsubstate being updated back to the state of the working copy parent when committing, if a user had changed it manually and not made any changes in subrepositories. The subrepository state from the working copies parent is compared with the state calculated as a result of trying to commit the subrepositories. If the two states are the same, then return None otherwise the commit is just done. The line: "committing subrepository x" will be written if there is nothing committed, but .hgsubstate is dirty for x subrepository.
Thu, 16 Dec 2010 07:45:22 -0600 progress: don't compute estimate without a total
Augie Fackler <durin42@gmail.com> [Thu, 16 Dec 2010 07:45:22 -0600] rev 13154
progress: don't compute estimate without a total Without this, computing an estimate crashes. Test included.
Tue, 14 Dec 2010 21:58:13 -0500 subrepo: use low-level git-diff-index for dirty()
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:58:13 -0500] rev 13153
subrepo: use low-level git-diff-index for dirty() Despite its name, git-diff-index compares a revision to the files in the working directory. This seems way less sketchy and more future proof than parsing human-readable git-status.
Tue, 14 Dec 2010 21:56:43 -0500 subrepo: defer determination of git's current branch
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:56:43 -0500] rev 13152
subrepo: defer determination of git's current branch
Tue, 14 Dec 2010 21:56:43 -0500 subrepo: incorporate tracking branches into gitbranchmap
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:56:43 -0500] rev 13151
subrepo: incorporate tracking branches into gitbranchmap
Tue, 14 Dec 2010 21:53:40 -0500 subrepo: use low-level git-for-each-ref command in branchmap
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:53:40 -0500] rev 13150
subrepo: use low-level git-for-each-ref command in branchmap This command's output doesn't change across versions, and it also disambiguates cases where there are slashes in local branch names.
Wed, 15 Dec 2010 10:55:14 -0600 progress using tests: disable time estimates to avoid flakiness
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:55:14 -0600] rev 13149
progress using tests: disable time estimates to avoid flakiness
Wed, 15 Dec 2010 10:22:54 -0600 progress: include time estimate as part of the default progress format
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:22:54 -0600] rev 13148
progress: include time estimate as part of the default progress format
Wed, 15 Dec 2010 10:22:06 -0600 progress: only show time estimate when progress format contains 'estimate'
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:22:06 -0600] rev 13147
progress: only show time estimate when progress format contains 'estimate'
Wed, 15 Dec 2010 10:20:36 -0600 progress: fix adding format elements after the progress bar
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:20:36 -0600] rev 13146
progress: fix adding format elements after the progress bar Prior to this change, format elements after the progress bar would show up in the wrong order.
Wed, 15 Dec 2010 11:20:32 -0600 test-progress: test completion estimates and progress bar delay
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 11:20:32 -0600] rev 13145
test-progress: test completion estimates and progress bar delay
Mon, 29 Nov 2010 16:34:10 +0100 subrepo: add progress bar support to archive
Martin Geisler <mg@aragost.com> [Mon, 29 Nov 2010 16:34:10 +0100] rev 13144
subrepo: add progress bar support to archive
Mon, 29 Nov 2010 16:17:05 +0100 archive: add support for progress extension
Martin Geisler <mg@aragost.com> [Mon, 29 Nov 2010 16:17:05 +0100] rev 13143
archive: add support for progress extension
Wed, 15 Dec 2010 16:35:09 +0100 progress: test setting progress.width
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 16:35:09 +0100] rev 13142
progress: test setting progress.width This also makes the tests readable in a 80-character terminal which is why I made the change to both tests.
Wed, 15 Dec 2010 16:29:46 +0100 tests: add filtercr.py helper for progress tests
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 16:29:46 +0100] rev 13141
tests: add filtercr.py helper for progress tests The two tests that used filtercr.py already used a slightly different version, which explains why test-convert-svn-move.t changed after switching to using $TESTDIR/filtercr.py.
Wed, 15 Dec 2010 09:52:20 +0100 test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 09:52:20 +0100] rev 13140
test-archive: whitespace cleanup
Wed, 15 Dec 2010 09:35:32 +0100 progress: explain format strings to translators
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 09:35:32 +0100] rev 13139
progress: explain format strings to translators
Wed, 15 Dec 2010 10:50:19 +0100 subrepo: re-backout 2245fcd0e160, remove test
Mads Kiilerich <mads@kiilerich.com> [Wed, 15 Dec 2010 10:50:19 +0100] rev 13138
subrepo: re-backout 2245fcd0e160, remove test 7397a53219c9 re-removed the bad fix but not the test.
Tue, 14 Dec 2010 18:10:51 -0600 subrepo: re-backout 2245fcd0e160
Matt Mackall <mpm@selenic.com> [Tue, 14 Dec 2010 18:10:51 -0600] rev 13137
subrepo: re-backout 2245fcd0e160 This bug got introduced into default simultaneously with its backout, so future merges didn't eradicate it.
Tue, 14 Dec 2010 17:10:01 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 14 Dec 2010 17:10:01 -0600] rev 13136
merge with stable
Mon, 06 Dec 2010 22:04:10 -0600 tag: abort if not at a branch head (issue2552) stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 06 Dec 2010 22:04:10 -0600] rev 13135
tag: abort if not at a branch head (issue2552) Since it's usually only desirable to make tag commits on top of branch heads, abort if the working dir parent is not a branch head. -f/--force may be passed to commit at a non-head anyway. Does not abort if working dir parent is a named branch head but not a topological head.
Tue, 07 Dec 2010 08:02:54 +0100 tag: fix uncommitted merge check and error message (issue2542) stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 07 Dec 2010 08:02:54 +0100] rev 13134
tag: fix uncommitted merge check and error message (issue2542) This patch corrects the check for tagging on an uncommitted merge. We should never commit a new tag changeset on an uncommitted merge, whether or not --rev is specified. It also changes the error message from: abort: cannot partially commit a merge (do not specify files or patterns) to the much more accurate (and terse): abort: uncommitted merge Local tags are ok.
Mon, 13 Dec 2010 21:20:30 -0600 tag: don't check .hgtags status if --local passed stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 13 Dec 2010 21:20:30 -0600] rev 13133
tag: don't check .hgtags status if --local passed Local tags don't create a commit, so we don't need to check the status of .hgtags.
Thu, 09 Dec 2010 17:33:40 -0600 progress: refactor for readability and show XXs instead of 0mXXs.
Augie Fackler <durin42@gmail.com> [Thu, 09 Dec 2010 17:33:40 -0600] rev 13132
progress: refactor for readability and show XXs instead of 0mXXs.
Tue, 26 Oct 2010 14:41:58 +0300 progress: Add estimated time remaining for long tasks
timeless <timeless@gmail.com> [Tue, 26 Oct 2010 14:41:58 +0300] rev 13131
progress: Add estimated time remaining for long tasks Output looks roughly like this: updating [======================> ] 1547/4842 0m13s output will either show h:m or m:s
Fri, 10 Dec 2010 16:56:12 -0600 progress: react more reasonably to nested progress topics
Augie Fackler <durin42@gmail.com> [Fri, 10 Dec 2010 16:56:12 -0600] rev 13130
progress: react more reasonably to nested progress topics Previously, we'd reset the entire progress bar state when a topic was completed, even if it wasn't the outermost progress topic. Now we print the state of the next progress topic on the stack if one is left rather than reset the progress bar.
Mon, 13 Dec 2010 12:19:26 -0600 Merge with stable
Steve Borho <steve@borho.org> [Mon, 13 Dec 2010 12:19:26 -0600] rev 13129
Merge with stable
Mon, 13 Dec 2010 11:51:01 -0600 util: work around behavior change in Python 2.7.1 stable
Steve Borho <steve@borho.org> [Mon, 13 Dec 2010 11:51:01 -0600] rev 13128
util: work around behavior change in Python 2.7.1
Mon, 13 Dec 2010 11:53:17 +0100 merge with stable
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:53:17 +0100] rev 13127
merge with stable
Mon, 13 Dec 2010 11:52:52 +0100 merge default heads in crew and main
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:52:52 +0100] rev 13126
merge default heads in crew and main
Mon, 13 Dec 2010 11:52:21 +0100 merge stable heads in crew and main stable
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:52:21 +0100] rev 13125
merge stable heads in crew and main
Mon, 22 Nov 2010 14:36:57 +0100 eol: improve help on whether EOLs are changed in working copy or repository stable
Erik Zielke <ez@aragost.com> [Mon, 22 Nov 2010 14:36:57 +0100] rev 13124
eol: improve help on whether EOLs are changed in working copy or repository Improved help to make it more clear for users which changes are only changes in the working copy and which changes that will go into the repository (on the following commit). Futhermore a note on when the rules will be applied to the working directory.
Mon, 13 Dec 2010 16:41:39 +0900 churn: ignore trailing and leading spaces (issue2546) stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 13 Dec 2010 16:41:39 +0900] rev 13123
churn: ignore trailing and leading spaces (issue2546)
Fri, 10 Dec 2010 23:05:48 +0100 merge with stable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 10 Dec 2010 23:05:48 +0100] rev 13122
merge with stable
Tue, 07 Dec 2010 16:08:16 +0100 make_file: always return a fresh file handle that can be closed
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 07 Dec 2010 16:08:16 +0100] rev 13121
make_file: always return a fresh file handle that can be closed Currently, cmdutil.make_file() will return a freshly made file handle, except when given a pattern of '-'. If callers would want to close the handle, they would have to make sure that it's neither sys.stdin or sys.stdout. Instead, returning a duplicate of either of the two ensures that make_file() lives up to its name and creates a new file handle regardless of the input.
Fri, 10 Dec 2010 19:20:11 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:20:11 -0600] rev 13120
merge with stable
Fri, 10 Dec 2010 19:18:02 -0600 hook: fix import path handling for repo=None stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:18:02 -0600] rev 13119
hook: fix import path handling for repo=None
Tue, 07 Dec 2010 15:27:04 +0100 hook: assume relative path to hook is given from repo root stable
Alexander Solovyov <alexander@solovyov.net> [Tue, 07 Dec 2010 15:27:04 +0100] rev 13118
hook: assume relative path to hook is given from repo root
Fri, 10 Dec 2010 19:08:17 -0600 subrepo: backed out changeset 2245fcd0e160 stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:08:17 -0600] rev 13117
subrepo: backed out changeset 2245fcd0e160
Fri, 10 Dec 2010 13:30:37 -0600 bundle progress: offer best-guess deterministic progress information
Augie Fackler <durin42@gmail.com> [Fri, 10 Dec 2010 13:30:37 -0600] rev 13116
bundle progress: offer best-guess deterministic progress information This uses the same strategy as progress for pulls, estimating manifests based on changeset count and estimating file count by files list in each changeset.
Fri, 10 Dec 2010 13:31:06 -0600 httpsendfile: record progress information during read()
Augie Fackler <durin42@gmail.com> [Fri, 10 Dec 2010 13:31:06 -0600] rev 13115
httpsendfile: record progress information during read() This allows us to provide deterministic progress information during transfer of bundle data over HTTP. This is required because we currently buffer the bundle data to local disk prior to transfer since wsgiref lacks chunked transfer-coding support.
Tue, 07 Dec 2010 15:50:28 +0100 templatekw.showdiffstat: use ctx.diff() instead of calling patch
Alexander Solovyov <alexander@solovyov.net> [Tue, 07 Dec 2010 15:50:28 +0100] rev 13114
templatekw.showdiffstat: use ctx.diff() instead of calling patch
Fri, 10 Dec 2010 16:10:14 +0100 localrepo: remove unneeded os.unlink call in wwrite
Adrian Buehlmann <adrian@cadifra.com> [Fri, 10 Dec 2010 16:10:14 +0100] rev 13113
localrepo: remove unneeded os.unlink call in wwrite The opener already unlinks the filename before 'w'riting, for both the symlink and the normal file case. It also now resets the flags for normal files on 'w'rite, which makes this os.unlink call completely redundant. For Windows, removing this extra unlink call helps to avoid tripping issue2524 (os.unlink followed by a write).
Fri, 10 Dec 2010 15:14:05 +0100 opener: always reset flags on 'w'rite
Adrian Buehlmann <adrian@cadifra.com> [Fri, 10 Dec 2010 15:14:05 +0100] rev 13112
opener: always reset flags on 'w'rite only the patcher needs to preserve flags on write
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: silence git output when ui.quiet is set
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13111
subrepo: silence git output when ui.quiet is set
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: show git command with --debug
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13110
subrepo: show git command with --debug Also removing the clutter of --no-pager, since none of these commands use the pager.
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: speed up git push logic
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13109
subrepo: speed up git push logic In many common cases where the subrepo is up to date with the remote repo, hg push will only need to run one git-branch command to see that nothing needs to be pushed.
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: use subprocess.Popen without the shell
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13108
subrepo: use subprocess.Popen without the shell As well as simplifying the code, this makes subprocess calls about 25% faster. Tested on a couple linux boxes. python -mtimeit -s'import subprocess' 'subprocess.Popen( "git version", shell=True, stdout=subprocess.PIPE).wait()' python -mtimeit -s'import subprocess' 'subprocess.Popen( ["git","version"], stdout=subprocess.PIPE).wait()'
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: treat git error code 1 as success
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13107
subrepo: treat git error code 1 as success At least status, commit, merge-base, and diff all return 1 when not failing.
Thu, 09 Dec 2010 16:52:14 -0500 subrepo: gitsubrepo should inherit from abstractsubrepo
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13106
subrepo: gitsubrepo should inherit from abstractsubrepo
Fri, 10 Dec 2010 01:30:16 +0100 subrepo: initialize subrepo relative default paths relative to their root stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 10 Dec 2010 01:30:16 +0100] rev 13105
subrepo: initialize subrepo relative default paths relative to their root
Wed, 08 Dec 2010 13:12:12 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 08 Dec 2010 13:12:12 -0600] rev 13104
merge with stable
Tue, 07 Dec 2010 20:03:04 +1100 bookmarks: create undo.bookmarks using repo.opener instead of util.copyfile stable
Brodie Rao <brodie@bitheap.org> [Tue, 07 Dec 2010 20:03:04 +1100] rev 13103
bookmarks: create undo.bookmarks using repo.opener instead of util.copyfile This more closely matches how the other undo files are created, and we don't care about settings permissions or times on the file, which can fail if the user running hg doesn't own the file.
Tue, 07 Dec 2010 19:47:53 +1100 archival: don't set gzip filename header when there's no filename stable
Brodie Rao <brodie@bitheap.org> [Tue, 07 Dec 2010 19:47:53 +1100] rev 13102
archival: don't set gzip filename header when there's no filename This mainly affects hgweb, which can generate tar.gz archives without filenames. Without this change, the header would be set to ".gz", which can confuse Safari into extracting the file and renaming it to "gz" when "Open 'safe' files after downloading" is enabled. file(1) before: hg-crew-5e51254ad4d4.tar.gz: gzip compressed data, was ".gz", last modified: Thu Dec 2 11:46:20 2010, max compression after: hg-crew-5e51254ad4d4.tar.gz: gzip compressed data, last modified: Thu Dec 2 11:46:20 2010, max compression
Wed, 08 Dec 2010 11:18:26 -0600 build: don't delete precious version information on 'make clean'
Matt Mackall <mpm@selenic.com> [Wed, 08 Dec 2010 11:18:26 -0600] rev 13101
build: don't delete precious version information on 'make clean' setup.py rebuilds version information if it's locally available, regardless if file already exists.
Fri, 03 Dec 2010 11:40:30 +0900 patch: write .rej files without rewriting EOLs stable
Patrick Mezard <pmezard@gmail.com> [Fri, 03 Dec 2010 11:40:30 +0900] rev 13100
patch: write .rej files without rewriting EOLs Do not pass reject file content to patchfile.writelines() to: - Avoid line endings transformations - Avoid polluting overriding implementations with unrelated data. They should override write_rej() to deal or ignore reject files properly. Bug report, analysis and original patch and test by Shun-ichi GOTO <shunichi.goto@gmail.com>
Tue, 07 Dec 2010 20:03:05 +1100 record: move copystat() hack out of util.copyfile() and into record
Brodie Rao <brodie@bitheap.org> [Tue, 07 Dec 2010 20:03:05 +1100] rev 13099
record: move copystat() hack out of util.copyfile() and into record b2410ed2cbe9 updated copyfile to also copy over atimes and mtimes. That behavior is specifically to trick editors into thinking files that hg record has modified haven't changed. We don't really care about preserving times in the general case.
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 +30000 tip