Fri, 11 Jan 2008 06:07:43 +0300 convert: add commandline.xargs(), use it in svn_sink class
Maxim Dounin <mdounin@mdounin.ru> [Fri, 11 Jan 2008 06:07:43 +0300] rev 5832
convert: add commandline.xargs(), use it in svn_sink class Introduce commandline.xargs() to limit argument list with respect to ARG_MAX bytes. If no ARG_MAX information available - use POSIX required minimum of 4096 bytes. Under Windows, while actual argument list length is limited to 32k, shells impose their own limits on command line length, down to 2047 bytes for cmd.exe under Windows NT/2k and about 2500 bytes for older 4nt.exe. See http://support.microsoft.com/kb/830473 for details about cmd.exe limitations. Since ARG_MAX is limit for argument list and environment, we reserve half of it and one byte for environment variables. This way with default ARG_MAX (4096 bytes) we get value 2047 bytes which is OK for Windows too.
Fri, 11 Jan 2008 15:01:29 +0100 keyword: fix some doc strings; update copyright
Christian Ebert <blacktrash@gmx.net> [Fri, 11 Jan 2008 15:01:29 +0100] rev 5831
keyword: fix some doc strings; update copyright
Thu, 10 Jan 2008 12:07:18 +0300 hg qrecord -- like record, but for mq
Kirill Smelkov <kirr@mns.spb.ru> [Thu, 10 Jan 2008 12:07:18 +0300] rev 5830
hg qrecord -- like record, but for mq I'm a former Darcs user, and I've discovered that it is very convenient to actually perform development using MQ first, and only when the patches are 'ready' move them to project's history in stone. Usually I work on some topic, temporarily forgetting about any version control, and just do coding, experimenting, debugging, etc. After some time, I approach a moment, where my work should actually go to patches/commits, and here is the problem:: As it is now, there is no way to put part of the changes into one patch, and another part of the changes into second patch. This works, but only when changes are touching separate files, and for semantically different changes touching the same file(s) there is now pretty way to put them into separate patches. For some time, I've tolerated the pain to run vim patches/... and move hunks between files by hand, but I think this affects my productivity badly. So, here is the first step towards untiing the problem: Let's use 'hg qrecord' for mq, like we use 'hg record' for usual commits!
Thu, 10 Jan 2008 12:07:18 +0300 cmdutil.commit: extract 'addremove' from opts carefully
Kirill Smelkov <kirr@mns.spb.ru> [Thu, 10 Jan 2008 12:07:18 +0300] rev 5829
cmdutil.commit: extract 'addremove' from opts carefully we are going to use cmdutil.commit for qrecord, and it's brother qrefresh does not support addremove.
Thu, 10 Jan 2008 12:07:18 +0300 dispatch: allow extensions to provide setup code
Kirill Smelkov <kirr@mns.spb.ru> [Thu, 10 Jan 2008 12:07:18 +0300] rev 5828
dispatch: allow extensions to provide setup code we'll need this soon, when record extension will optionally depend on mq early -- when preparing cmdtable. Also, if accepted, ExtensionHowto wiki should be updated as well.
Thu, 10 Jan 2008 12:07:13 +0300 record: refactor record into generic record driver
Kirill Smelkov <kirr@mns.spb.ru> [Thu, 10 Jan 2008 12:07:13 +0300] rev 5827
record: refactor record into generic record driver rationale --------- I'd like to make MQ version of record -- qrecord. >From the first glance it seemed to be easy -- the task in essence would be to change call to cmdutil.commit() to something like mq.qrefresh(). As it turned out queue.refresh() and cmdutil.commit() have different semantics -- cmdutil.commit() first scans for changes and then delegate the actual commit to lowlevel func. On the other hand queue.refresh() do it all in once, and I am a bit scary to change it. Maybe the right way would be to first refactor queue.refresh() to use cmdutil.commit() machinery, and then trivially adjust record, but I feel I'm not competent for the task right now. Instead, I propose we refactor record to be some sort of high-level driver, or like a high-level decorator one can say, which will first interactively filter changes, and then delegate commit job to high-level commiter, e.g. 'commit' or 'qrefresh' So, this patch does just that -- refactor record to be generic driver, and update 'hg record' code to use the driver. 'hg qrecord' will follow.
Thu, 10 Jan 2008 11:43:30 +0300 record: some docs
Kirill Smelkov <kirr@mns.spb.ru> [Thu, 10 Jan 2008 11:43:30 +0300] rev 5826
record: some docs While studing record, I've written some docstrings and comments. Hope they are useful.
Wed, 09 Jan 2008 05:24:33 +0100 keyword: clean up quiet setting in kwdemo and adding of untracked kwfiles
Christian Ebert <blacktrash@gmx.net> [Wed, 09 Jan 2008 05:24:33 +0100] rev 5825
keyword: clean up quiet setting in kwdemo and adding of untracked kwfiles
Wed, 09 Jan 2008 11:21:40 +0100 keyword: suppress keyword expansion for log commands
Christian Ebert <blacktrash@gmx.net> [Wed, 09 Jan 2008 11:21:40 +0100] rev 5824
keyword: suppress keyword expansion for log commands With previous bugfix "hg log -p" expanded keywords. Turn off again by making log, tip nokwcommands.
Wed, 09 Jan 2008 05:18:50 +0100 keyword: (bugfix) only set changenode for kwtemplater when committing
Christian Ebert <blacktrash@gmx.net> [Wed, 09 Jan 2008 05:18:50 +0100] rev 5823
keyword: (bugfix) only set changenode for kwtemplater when committing kwexpand must always obtain changenode from filectx, otherwise current changenode is expanded in every file. Also fixes "hg cat <more than 1 file>".
(0) -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip