[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Issue #1295

From: Branko Čibej <brane_at_xbc.nu>
Date: 2003-05-09 02:03:59 CEST

Mark Grosberg wrote:

>Hello all,
>
>I saw issue #1295 get filed. This is one of the things that has bothered
>me about CVS for the longest time. So, I got a bit of energey and
>implemented this. It really isn't that invasive at all.
>
>Personally, I would like this feature much more. It makes the command line
>client much easier to use than even the suggested alternative. Please
>consider this.
>
>I compiled and tested the fix. Seems to work well. There are some things
>people may wish to add. I noticed there are a few places where the get_log
>callback of the context is called to only get the log message.
>
>Well, the those cases we may want to print a warning if any of the
>comitted items have the (new) SVN_CLIENT_COMMIT_ITEM_UNMARKED flag set
>(currently, it is just ignored).
>
>Other than that, I'm open to suggestions about the patch.
>
Apart from several stylistic nits (such as aligning the function param
names; we don't do that) and missing docstrings for the new functions,
it strikes me that you're complicating things enormously, *and* you
introduced a quadratic algorithm for tagging the array.

You can make things much simpler by just parsing the list in the log
file into a hash table keyed off the path (only the existence of the key
is important), then use lookups into the table to set the UNMARKED flag.
That way you only need a single traverse throught the array to set all
flags correctly, and you don't need a reference to the array in
process_committed_list.

By the way, your method for deleting stiff from the array seems wrong;
you never check the flag on the items you move from the end of the array
into the emptied slot. Besides, there's an easier way; modify
svn_client__sort_commit_item_urls so that items without the UNMARKED
flag always compare greater than items with it. That way the qsort will
move all unmarked items to the end of the array, then it's a simple
matter of changing the nelts member to cut them out of the list.

-- 
Brane Čibej   <brane_at_xbc.nu>   http://www.xbc.nu/brane/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri May 9 02:06:38 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.