-Z (we have -0 as in locate)
-a (use "-r 0:tip" instead, or always grep all unless -r is given)
-e (we have the PATTERN argument)
-v (doesn't work, and this is more of a job for 'hg cat|grep')
-s (we have -q/--quiet)
-f (should be always enabled if -l used, or enable on -v/--verbose)
The -p option strips the status prefix of each file, while
-0 ends each file with a NUL character, instead of a newline.
Together, selected group of files can be passed to 'xargs -0'
for further processing.
s/tarball/archive/
query config rather than maintaining a list
default all archive support to off
use changeset nodes rather than manifest nodes
use web:name for archive name
don't use rev number in filename, it's not portable
refactor manifest lookup bits
use finally: clause to delete tmpfile
Hello,
I'm slowly improving support for tarballs in Mercurial. Attached patch
is made against current tip in Matt's repository - c582763bc7fd, and
contains everything done so far.
Changes:
- gzip and bzip2 tarballs are sent immediately without writing to
temporary files (I was wrong Matt, it can be done very easy)
- hgrc customization, you can choose which type (if any) you will support
There's no easy way to support compression levels, since TarFile open()
assume that it is 9. I tried to use gzopen(), and bz2open() methods
instead, but it seems that headers of generated archives, are missing or
wrong. We could eventually try to rewrite tarfile.py and include our own
version into Mercurial, but I don't know if it's good idea...
Wojtek
TAH found a bug where push would push things the remote already had,
raising an assertion. This turned out to be because the changeset
protocol was not recording a common subset node in one case.
Also discovered was that the protocol was queueing multiple copies of
a node for pull. Fixed by changing fetch to a hash.
Add some more debugging output.
This adds support for an [extensions] section to hgrc. This has the form of:
[extensions]
mod=[path]
If a path is specified, the python module found at that path is load.
Otherwise, __import__ is used to find the module.
Each module must implement a dict called cmdtable where the command line
options for that module live. Each module must also implement a reposetup
function:
cmdtable = {}
def reposetup(ui, repo): pass
Index: hg/mercurial/ui.py
===================================================================
It currently searches all revs of every matching file. I'll change
this soon so that it can still do this, but it will not be the default
behaviour.
Many options are unimplemented. There's only one output mode. Binary
files are not handled yet.
The original implementation of log walked backwards through history,
which had terrible behaviour. It took several minutes to view
complete kernel change history on a fast machine, for example.
The rewrite uses a windowed approach to walk hunks of history
forwards, while still giving results in reverse order. This reduces
run time from five minutes to five seconds on my system.
In addition, the rewrite uses our normal name handling mechanisms, so
you can run a command like "hg log net/ipv4/**.c" and get a useful
answer. It optimises for three different cases (no arguments, only
files, and anything goes), so it performs well in all circumstances
I've tested.