How to increase the memory available to diff in cygwin 1.7?

Kenneth Chiu kchiu@cs.binghamton.edu
Mon Oct 26 19:59:00 GMT 2009


Well, it really depends on one's familiarity.  I can run
find on both directory roots, to get a list of all files.  I
want breadth-first, but I think find can do that.

The output needs to be sorted for each directory, since I
also need to find files in one that are not in the other.  I
am not sure that I can just run sort to do that, due to the
special ordering that I need to give the / character,
relative to other non-alphanum characters.

Now I need to read each list, in parallel, line-by-line.  If
the file from list 1 is greater than the file in list 2,
then the file is missing in dir 2, and vice versa.

If a file is a directory in one, but not in the other, then
I need to advance one list to skip that dir.  For example,
if foo is a directory in a, but not in b, then the breadth
first output is:

a/f1
a/f2
a/foo
a/g
a/h_dir_in_both
a/j
a/foo/f1
a/foo/f2
a/h_dir_in_both/g1

b/f1
b/f2
b/foo
b/g
b/h_dir_in_both
b/j
b/h_dir_in_both/g1

At this point, it starts to seem easier to do in C++, though
I wouldn't be terribly surprised if there was some easier
way to do it via shell scripting that I have missed.

On Mon, Oct 26, 2009 at 3:35 PM, Stephan Mueller
<Stephan.Mueller@microsoft.com> wrote:
> Kenneth Chiu writes:
> " cmp doesn't recurse, though, at least as far as I can tell.
> " In theory, I could use find, then cmp, plus some scripting,
> " but seems simpler to just write a small C program
> " to do it.
>
> Really?  Your definition of 'simpler' may differ from mine, but
> given an existing tool for recursion and one for comparison, I'm
> not sure that writing in C, which will require you to take care
> of both of those tasks yourself, is simpler.  But up to you how
> you want to do it, of course.
>
> stephan();
>

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list