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
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13096
subrepo: work around old git's remote naming scheme
Older git versions use 'origin/master'
Current git uses 'remotes/origin/master'
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13095
subrepo: use environment variable instead of git commit's --date
Older git versions do not have a --date flag.
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13094
subrepo: parse git status's human-readable output
Older git versions do not have a machine-readable output, but the default
format has not changed over time.
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13093
subrepo: use subprocess's cwd instead of git's --work-tree
Some older git commands (e.g. git merge) do not properly recognize the
--work-tree argument, so abstract that away from git.
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13092
test-subrepo-git.t: make gitroot pushable earlier
Older git versions get confused when the git repo becomes bare.
Eric Eisner <ede@mit.edu> [Mon, 06 Dec 2010 21:17:27 -0500] rev 13091
test-subrepo-git.t: silence git output
Older git versions have different ideas of what output is considered quiet,
so the tests can be more version-blind.
Matt Mackall <mpm@selenic.com> [Mon, 06 Dec 2010 16:59:43 -0600] rev 13090
bdiff: Fix bogus NULL return
Matt Mackall <mpm@selenic.com> [Mon, 06 Dec 2010 16:42:48 -0600] rev 13089
bdiff: dynamically allocate hunks
Make the hunk list a singly-linked list rather than a large array.
Matt Mackall <mpm@selenic.com> [Mon, 06 Dec 2010 16:03:00 -0600] rev 13088
merge with stable
Eric Eisner <ede@mit.edu> [Sun, 28 Nov 2010 17:19:23 -0500] rev 13087
subrepo: lazily update git's local tracking branches
This continues the strategy of separation between hg pull and hg update in
git subrepos by only dealing with git's branches on an update. This behavior
tries to cover the bare essentials of the semantics of git pull in the subrepo
when the parent repo does hg pull and hg update.
Eric Eisner <ede@mit.edu> [Sun, 28 Nov 2010 15:21:23 -0500] rev 13086
subrepo: return both mapping directions from gitbranchmap
Eric Eisner <ede@mit.edu> [Sun, 28 Nov 2010 15:03:48 -0500] rev 13085
subrepo: strip gitcommand output
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 01 Dec 2010 21:46:08 +0100] rev 13084
sshrepo: don't use readline() on the stderr pipe
For some reason, the stat/readline dance suppressed lines following
the first in PyPy 1.4.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 01 Dec 2010 21:46:08 +0100] rev 13083
test-demandimport.py: PyPy support
The stringification of sys.stderr is different in PyPy:
$ pypy -c 'import sys; print sys.stderr'
<open file '<fdopen>', mode 'w' at 0x
00a42080>
$ python -c 'import sys; print sys.stderr'
<open file '<stderr>', mode 'w' at 0x
10025a270>
The test will now ignore the exact value between the angle brackets.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 01 Dec 2010 21:46:08 +0100] rev 13082
demandimport: change default for level from None to -1
The Python default for this function is -1, indicating both relative
and absolute imports should be used.[1] Previously, we relied on the
Python VM not passing level when such semantics were
requisted. This is not the case for PyPy, however, where a level of -1
is always passed to __import__.
[1] <http://docs.python.org/library/functions.html#__import__>
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Wed, 01 Dec 2010 21:46:08 +0100] rev 13081
export: flush the file pointer between patches