diff mbox series

fetch-pack: Remove unused struct 'loose_object_iter'

Message ID 20240512005913.342287-1-dave@treblig.org (mailing list archive)
State Accepted
Commit fc0202b0e9679d44ebc5806c07439442d0a94a7a
Headers show
Series fetch-pack: Remove unused struct 'loose_object_iter' | expand

Commit Message

Dr. David Alan Gilbert May 12, 2024, 12:59 a.m. UTC
'loose_object_iter' in fetch-pack.c is unused since
commit 97b2fa08b6b9ee3e ("fetch-pack: drop custom loose object cache")
Remove it.

Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
---
 fetch-pack.c | 5 -----
 1 file changed, 5 deletions(-)

Comments

Patrick Steinhardt May 13, 2024, 10:02 a.m. UTC | #1
On Sun, May 12, 2024 at 01:59:13AM +0100, Dr. David Alan Gilbert wrote:

Tiny nit: we don't capitalize the first letter after the colon in the
subject. I don't think this warrants a reroll of this patch though.

> 'loose_object_iter' in fetch-pack.c is unused since
> commit 97b2fa08b6b9ee3e ("fetch-pack: drop custom loose object cache")
> Remove it.

Good catch, and thanks for providing historical context. The patch looks
obviously good to me.

Patrick
Junio C Hamano May 13, 2024, 11:56 p.m. UTC | #2
Patrick Steinhardt <ps@pks.im> writes:

> On Sun, May 12, 2024 at 01:59:13AM +0100, Dr. David Alan Gilbert wrote:
>
> Tiny nit: we don't capitalize the first letter after the colon in the
> subject. I don't think this warrants a reroll of this patch though.
>
>> 'loose_object_iter' in fetch-pack.c is unused since
>> commit 97b2fa08b6b9ee3e ("fetch-pack: drop custom loose object cache")
>> Remove it.
>
> Good catch, and thanks for providing historical context. The patch looks
> obviously good to me.

Thanks, both.  Will queue with a slight copy-editing of the proposed
log message.
Jeff King May 15, 2024, 6:46 a.m. UTC | #3
On Sun, May 12, 2024 at 01:59:13AM +0100, Dr. David Alan Gilbert wrote:

> 'loose_object_iter' in fetch-pack.c is unused since
> commit 97b2fa08b6b9ee3e ("fetch-pack: drop custom loose object cache")
> Remove it.

Thanks, this was my fault for leaving it in. The patch looks obviously
good.

I wish there was a good way to get the compiler to report on unused
types, but I don't think there is (it's a complicated problem in
general, but file-local ones like this feel like they should be easy to
spot).

Here's a really hacky (and quadratic) attempt to find defined structs
that aren't mentioned elsewhere:

  for i in $(git grep -ho '^struct [a-z_]* {' | cut -d' ' -f2)
  do
	used=$(git grep -Phc "\b$i\b" |
	       perl -ne '$x += $_; END { print $x }')
	echo "$used $i"
  done |
  sort -n

which finds exactly one unused struct, the one in this patch.

-Peff
Dr. David Alan Gilbert May 15, 2024, 10:41 a.m. UTC | #4
* Jeff King (peff@peff.net) wrote:
> On Sun, May 12, 2024 at 01:59:13AM +0100, Dr. David Alan Gilbert wrote:
> 
> > 'loose_object_iter' in fetch-pack.c is unused since
> > commit 97b2fa08b6b9ee3e ("fetch-pack: drop custom loose object cache")
> > Remove it.
> 
> Thanks, this was my fault for leaving it in. The patch looks obviously
> good.

Thanks.
Most projects I've looked at seem to have one or more.

> I wish there was a good way to get the compiler to report on unused
> types, but I don't think there is (it's a complicated problem in
> general, but file-local ones like this feel like they should be easy to
> spot).

Alas not.

> Here's a really hacky (and quadratic) attempt to find defined structs
> that aren't mentioned elsewhere:
> 
>   for i in $(git grep -ho '^struct [a-z_]* {' | cut -d' ' -f2)
>   do
> 	used=$(git grep -Phc "\b$i\b" |
> 	       perl -ne '$x += $_; END { print $x }')
> 	echo "$used $i"
>   done |
>   sort -n
> 
> which finds exactly one unused struct, the one in this patch.

My similarly hacky script was:
  
  grep -r '^struct [^(=]* {'| tr ':' ' ' |
  while read FNAME STRUCT NAME TAIL
  do
    echo "$FNAME" | grep -q '[.]c$' || continue
  echo ">>>" $FNAME ' : ' $NAME
  echo -n "Count: "
  grep $NAME $FNAME | wc -l 
  #grep $VARNAME $FNAME
  done

(A count of 1 being the unused ones).

Dave


> 
> -Peff
diff mbox series

Patch

diff --git a/fetch-pack.c b/fetch-pack.c
index 091f9a80a9..28a62e502e 100644
--- a/fetch-pack.c
+++ b/fetch-pack.c
@@ -732,11 +732,6 @@  static void mark_alternate_complete(struct fetch_negotiator *negotiator UNUSED,
 	mark_complete(&obj->oid);
 }
 
-struct loose_object_iter {
-	struct oidset *loose_object_set;
-	struct ref *refs;
-};
-
 /*
  * Mark recent commits available locally and reachable from a local ref as
  * COMPLETE.