[alt.sources.d] .newsrc file fixer

dik@cwi.nl (Dik T. Winter) (10/03/89)

In article <4784@orca.WV.TEK.COM> jeff@quark.WV.TEK.COM (Jeff Beadles) writes:
 > 
 > This is a little script that I tossed together to massage my .newsrc.  I tried
 > to edit it with 'vi' to move the order of some of the groups around, and clean
 > it up a bit.

And some script that will fold long lines.  There is however a much easier
procedure to get at (nearly) the same result:
	cp .newsrc .newsrc.old
	sed -e '/!/d' .newsrc.old >.newsrc
This will throw away all lines mentioning groups you are not subscribed to
(and those are presumably also the long lines).  Net effect: shorter .newsrc,
faster rn startup, no problems editing .newsrc.

Note that sed will choke if your .newsrc contains lines longer than 4000 chars!
-- 
dik t. winter, cwi, amsterdam, nederland
INTERNET   : dik@cwi.nl
BITNET/EARN: dik@mcvax

amos@taux01.UUCP (Amos Shapir) (10/03/89)

In article <8437@boring.cwi.nl> dik@cwi.nl (Dik T. Winter) writes:
>There is however a much easier
>procedure to get at (nearly) the same result:
>	cp .newsrc .newsrc.old
>	sed -e '/!/d' .newsrc.old >.newsrc
>This will throw away all lines mentioning groups you are not subscribed to

The point of keeping unsubscribed groups in .newsrc is that whenever a
new group is created, rn will ask you if you want to add it.  It
probably checks if there are any groups in the active file that are not
in .newsrc.  Since it cannot tell which of these is the new one, it will
ask about each and every one!  That means hundreds of questions, and you
cannot go on reading news before answering all of them.


-- 
	Amos Shapir		amos@taux01.nsc.com or amos@nsc.nsc.com
National Semiconductor (Israel) P.O.B. 3007, Herzlia 46104, Israel
Tel. +972 52 522261  TWX: 33691, fax: +972-52-558322
34 48 E / 32 10 N			(My other cpu is a NS32532)

cosell@bbn.com (Bernie Cosell) (10/03/89)

In article <2672@taux01.UUCP> amos@taux01.UUCP (Amos Shapir) writes:
}In article <8437@boring.cwi.nl> dik@cwi.nl (Dik T. Winter) writes:
}>There is however a much easier
}>procedure to get at (nearly) the same result:
}>	cp .newsrc .newsrc.old
}>	sed -e '/!/d' .newsrc.old >.newsrc
}>This will throw away all lines mentioning groups you are not subscribed to
}
}The point of keeping unsubscribed groups in .newsrc is that whenever a
}new group is created, rn will ask you if you want to add it.  


This isn't true (here at BBN, at least): in fact, rn only asks you about
adding really-new newsgroups.  I regularly delete the !ed groups from my
.newsrc and it works just fine.

  /Bernie\

dik@cwi.nl (Dik T. Winter) (10/03/89)

In article <2672@taux01.UUCP> amos@taux01.UUCP (Amos Shapir) writes:
 > In article <8437@boring.cwi.nl> dik@cwi.nl (Dik T. Winter) writes:
 > >	cp .newsrc .newsrc.old
 > >	sed -e '/!/d' .newsrc.old >.newsrc
 > 
 > The point of keeping unsubscribed groups in .newsrc is that whenever a
 > new group is created, rn will ask you if you want to add it.  It
 > probably checks if there are any groups in the active file that are not
 > in .newsrc.  Since it cannot tell which of these is the new one, it will
 > ask about each and every one!  That means hundreds of questions, and you
 > cannot go on reading news before answering all of them.

But I checked.  Rn will only check for new groups if the active file is changed.
Next in the file addng.c we find the following comment:
					/* if not in .newsrc and younger */
					/* than the last time we checked */
					/* then remember said newsgroup */
So... (This is patchlevel 40.)
-- 
dik t. winter, cwi, amsterdam, nederland
INTERNET   : dik@cwi.nl
BITNET/EARN: dik@mcvax

erickson@ics.uci.edu (Gary Erickson) (10/04/89)

dik@cwi.nl (Dik T. Winter) writes:

>In article <2672@taux01.UUCP> amos@taux01.UUCP (Amos Shapir) writes:
> > In article <8437@boring.cwi.nl> dik@cwi.nl (Dik T. Winter) writes:
> > >	cp .newsrc .newsrc.old
> > >	sed -e '/!/d' .newsrc.old >.newsrc
> > 
> > The point of keeping unsubscribed groups in .newsrc is that whenever a
> > new group is created, rn will ask you if you want to add it.  It

>But I checked.  Rn will only check for new groups if the active file is changed.

I understand that rrn has no way to know whether or not you've already
been asked about a newsgroup.  We've got one news server, and all of
our Sun clients use rrn to get stuff from the server.  I've run into
the same problem.  So, I just add everything and unsubscribe.

Gary
University of California Irvine        | (714) 856-4222
Information & Computer Science Dept.   | erickson@ics.uci.edu    (Internet)
Support Group                          | ucbvax!ucivax!erickson      (UUCP)
                                       | saericks@uci              (Bitnet)
--
Gary Scott Erickson

dik@cwi.nl (Dik T. Winter) (10/04/89)

In article <1989Oct3.170740.9636@paris.ics.uci.edu> erickson@ics.uci.edu (Gary Erickson) writes:
 > dik@cwi.nl (Dik T. Winter) writes:
 >  ....
 > >But I checked.  Rn will only check for new groups if the active file is changed.
 > 
 > I understand that rrn has no way to know whether or not you've already
 > been asked about a newsgroup.  We've got one news server, and all of
 > our Sun clients use rrn to get stuff from the server.  I've run into
 > the same problem.

I wonder.  I just checked out rrn too (patchlevel 40) and it shows the same
behaviour as rn.  This was both on Alliant and Sun3; they both use a Vax BSD 4.3
as server.  I checked also rrn on a Sun4 and still the same; but I do not know
where that machine finds its news.  Perheps it is a problem with the server?
-- 
dik t. winter, cwi, amsterdam, nederland
INTERNET   : dik@cwi.nl
BITNET/EARN: dik@mcvax

tale@pawl.rpi.edu (David C Lawrence) (10/04/89)

In article <8437@boring.cwi.nl> dik@cwi.nl (Dik T. Winter) writes:
Dik>	cp .newsrc .newsrc.old
Dik>	sed -e '/!/d' .newsrc.old >.newsrc

This is not a perfect cure-all, even in spite of the following
argument about new groups.  It will, for one, trash the first line of
my .newsrc, which is an "options -n" line which includes arguments of
the form !not.this.group.   "sed '/! /d' .newsrc.old > .newsrc" would
save it.

In article <2672@taux01.UUCP> amos@taux01.UUCP (Amos Shapir) counters with:
Amos> The point of keeping unsubscribed groups in .newsrc is that whenever a
Amos> new group is created, rn will ask you if you want to add it.

In <8439@boring.cwi.nl> dik@cwi.nl (Dik T. Winter) writes:
Dik> But I checked.  Rn will only check for new groups if the active
Dik> file is changed.  Next in the file addng.c we find the following
Dik> comment [deleted]:

And in a couple of more articles since then, Dik has further defended
that position on the basis that it works for him.  It does not,
however, work on many, many news systems out there.  Amos is quite
correct in is assertion that many people would be stuck wading through
a lot of "Not in .newsrc, add?" questions until they can read news.

Beyond that, there are the issues about people that _like_ to keep a
bunch of unsubscribed groups hanging around in their .newsrc, having
cross-posted articles marked appropriately, so they can get to it
later on.  I know some people who will read only, for example, soc.men
all week long and save soc.singles for the weekend.  Having the
appropriate articles marked as already read can save a lot of time and
effort for them.

Yes, I realize that the original solution to the problem of long
.newsrcs defeated this, too.  At least with the first method there
wasn't the harrassment of rn wanting to put groups back.

Dave
--
 (setq mail '("tale@pawl.rpi.edu" "tale@itsgw.rpi.edu" "tale@rpitsmts.bitnet"))

slocum@hi-csc.UUCP (Brett Slocum) (10/05/89)

In article <8439@boring.cwi.nl> dik@cwi.nl (Dik T. Winter) writes:
>In article <2672@taux01.UUCP> amos@taux01.UUCP (Amos Shapir) writes:
> > In article <8437@boring.cwi.nl> dik@cwi.nl (Dik T. Winter) writes:
> > >	cp .newsrc .newsrc.old
> > >	sed -e '/!/d' .newsrc.old >.newsrc
> > 
> > The point of keeping unsubscribed groups in .newsrc is that whenever a
> > new group is created, rn will ask you if you want to add it.  It
> > probably checks if there are any groups in the active file that are not
> > in .newsrc.  Since it cannot tell which of these is the new one, it will
> > ask about each and every one!  That means hundreds of questions, and you
> > cannot go on reading news before answering all of them.
>
>But I checked.  Rn will only check for new groups if the active file is changed.
>Next in the file addng.c we find the following comment:
>					/* if not in .newsrc and younger */
>					/* than the last time we checked */
>					/* then remember said newsgroup */
>So... (This is patchlevel 40.)

'rn' won't ask for groups not in your .newsrc, as Dik Winter states, but
readnews WILL ask for everything.  I had the occasion to have this happen
recently when the machine with 'rn' was down and I used readnews.

-- 
Brett Slocum, Honeywell SSDC, Golden Valley, Minnesota
<uunet!hi-csc!slocum>              | AIDS is a virus; George Bush
  or <hi-csc!slocum@uunet.uu.net>  | is a punishment from God.