Matt Mackall <mpm@selenic.com> [Thu, 16 Dec 2010 14:50:36 -0600] rev 13160
check-code: catch "except as"
Matt Mackall <mpm@selenic.com> [Thu, 16 Dec 2010 14:50:27 -0600] rev 13159
tests: eliminate fast-forward merge in test-tag
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.)
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.
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}.
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.
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.
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.
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:56:43 -0500] rev 13152
subrepo: defer determination of git's current branch
Eric Eisner <ede@mit.edu> [Tue, 14 Dec 2010 21:56:43 -0500] rev 13151
subrepo: incorporate tracking branches into gitbranchmap
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.
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 10:55:14 -0600] rev 13149
progress using tests: disable time estimates to avoid flakiness
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
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'
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.
Augie Fackler <durin42@gmail.com> [Wed, 15 Dec 2010 11:20:32 -0600] rev 13145
test-progress: test completion estimates and progress bar delay
Martin Geisler <mg@aragost.com> [Mon, 29 Nov 2010 16:34:10 +0100] rev 13144
subrepo: add progress bar support to archive
Martin Geisler <mg@aragost.com> [Mon, 29 Nov 2010 16:17:05 +0100] rev 13143
archive: add support for progress extension
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.
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.
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 09:52:20 +0100] rev 13140
test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com> [Wed, 15 Dec 2010 09:35:32 +0100] rev 13139
progress: explain format strings to translators
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.
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.
Matt Mackall <mpm@selenic.com> [Tue, 14 Dec 2010 17:10:01 -0600] rev 13136
merge with 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.
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.
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.
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.
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
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.
Steve Borho <steve@borho.org> [Mon, 13 Dec 2010 12:19:26 -0600] rev 13129
Merge with 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
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:53:17 +0100] rev 13127
merge with stable
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:52:52 +0100] rev 13126
merge default heads in crew and main
Martin Geisler <mg@lazybytes.net> [Mon, 13 Dec 2010 11:52:21 +0100] rev 13125
merge stable heads in crew and main
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.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Mon, 13 Dec 2010 16:41:39 +0900] rev 13123
churn: ignore trailing and leading spaces (issue2546)
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 10 Dec 2010 23:05:48 +0100] rev 13122
merge with stable
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.
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:20:11 -0600] rev 13120
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:18:02 -0600] rev 13119
hook: fix import path handling for repo=None
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
Matt Mackall <mpm@selenic.com> [Fri, 10 Dec 2010 19:08:17 -0600] rev 13117
subrepo: backed out changeset 2245fcd0e160
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.
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.
Alexander Solovyov <alexander@solovyov.net> [Tue, 07 Dec 2010 15:50:28 +0100] rev 13114
templatekw.showdiffstat: use ctx.diff() instead of calling patch
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).
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
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13111
subrepo: silence git output when ui.quiet is set
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.
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.
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()'
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.
Eric Eisner <ede@mit.edu> [Thu, 09 Dec 2010 16:52:14 -0500] rev 13106
subrepo: gitsubrepo should inherit from abstractsubrepo
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
Matt Mackall <mpm@selenic.com> [Wed, 08 Dec 2010 13:12:12 -0600] rev 13104
merge with 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.
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
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.
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>
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.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 07 Dec 2010 16:03:42 +0100] rev 13098
util: make atomicfiles closable
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13097
subrepo: drop arguments unsupported by old git