* [PATCH] pack: make packed_git_mru global a value instead of a pointer
@ 2017-09-17 20:17 phionah bugosi
2017-09-17 20:42 ` Christian Couder
0 siblings, 1 reply; 4+ messages in thread
From: phionah bugosi @ 2017-09-17 20:17 UTC (permalink / raw)
To: peff; +Cc: git, phionah bugosi
Signed-off-by: phionah bugosi <bugosip@gmail.com>
---
builtin/pack-objects.c | 5 +++--
cache.h | 7 -------
list.h | 6 ++++++
packfile.c | 12 ++++++------
4 files changed, 15 insertions(+), 15 deletions(-)
This patch makes packed_git_mru global a value instead of a pointer and
makes use of list.h
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index a57b4f0..189123f 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -1,5 +1,6 @@
#include "builtin.h"
#include "cache.h"
+#include "list.h"
#include "config.h"
#include "attr.h"
#include "object.h"
@@ -1012,7 +1013,7 @@ static int want_object_in_pack(const unsigned char *sha1,
return want;
}
- for (entry = packed_git_mru->head; entry; entry = entry->next) {
+ for (entry = packed_git_mru.head; entry; entry = entry->next) {
struct packed_git *p = entry->item;
off_t offset;
@@ -1030,7 +1031,7 @@ static int want_object_in_pack(const unsigned char *sha1,
}
want = want_found_object(exclude, p);
if (!exclude && want > 0)
- mru_mark(packed_git_mru, entry);
+ mru_mark(&packed_git_mru, entry);
if (want != -1)
return want;
}
diff --git a/cache.h b/cache.h
index a916bc7..c8d7086 100644
--- a/cache.h
+++ b/cache.h
@@ -1585,13 +1585,6 @@ extern struct packed_git {
char pack_name[FLEX_ARRAY]; /* more */
} *packed_git;
-/*
- * A most-recently-used ordered version of the packed_git list, which can
- * be iterated instead of packed_git (and marked via mru_mark).
- */
-struct mru;
-extern struct mru *packed_git_mru;
-
struct pack_entry {
off_t offset;
unsigned char sha1[20];
diff --git a/list.h b/list.h
index a226a87..525703b 100644
--- a/list.h
+++ b/list.h
@@ -26,6 +26,12 @@
#define LIST_H 1
/*
+ * A most-recently-used ordered version of the packed_git list, which can
+ * be iterated instead of packed_git (and marked via mru_mark).
+ */
+extern struct mru packed_git_mru
+
+/*
* The definitions of this file are adopted from those which can be
* found in the Linux kernel headers to enable people familiar with the
* latter find their way in these sources as well.
diff --git a/packfile.c b/packfile.c
index f86fa05..61a61aa 100644
--- a/packfile.c
+++ b/packfile.c
@@ -1,4 +1,5 @@
#include "cache.h"
+#include "list.h"
#include "mru.h"
#include "pack.h"
#include "dir.h"
@@ -41,8 +42,7 @@ static size_t peak_pack_mapped;
static size_t pack_mapped;
struct packed_git *packed_git;
-static struct mru packed_git_mru_storage;
-struct mru *packed_git_mru = &packed_git_mru_storage;
+struct mru packed_git_mru;
#define SZ_FMT PRIuMAX
static inline uintmax_t sz_fmt(size_t s) { return s; }
@@ -861,9 +861,9 @@ static void prepare_packed_git_mru(void)
{
struct packed_git *p;
- mru_clear(packed_git_mru);
+ mru_clear(&packed_git_mru);
for (p = packed_git; p; p = p->next)
- mru_append(packed_git_mru, p);
+ mru_append(&packed_git_mru, p);
}
static int prepare_packed_git_run_once = 0;
@@ -1832,9 +1832,9 @@ int find_pack_entry(const unsigned char *sha1, struct pack_entry *e)
if (!packed_git)
return 0;
- for (p = packed_git_mru->head; p; p = p->next) {
+ for (p = packed_git_mru.head; p; p = p->next) {
if (fill_pack_entry(sha1, e, p->item)) {
- mru_mark(packed_git_mru, p);
+ mru_mark(&packed_git_mru, p);
return 1;
}
}
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] pack: make packed_git_mru global a value instead of a pointer
2017-09-17 20:17 [PATCH] pack: make packed_git_mru global a value instead of a pointer phionah bugosi
@ 2017-09-17 20:42 ` Christian Couder
2017-09-17 20:44 ` Christian Couder
0 siblings, 1 reply; 4+ messages in thread
From: Christian Couder @ 2017-09-17 20:42 UTC (permalink / raw)
To: phionah bugosi; +Cc: Jeff King, git
On Sun, Sep 17, 2017 at 10:17 PM, phionah bugosi <bugosip@gmail.com> wrote:
> Signed-off-by: phionah bugosi <bugosip@gmail.com>
> ---
> builtin/pack-objects.c | 5 +++--
> cache.h | 7 -------
> list.h | 6 ++++++
> packfile.c | 12 ++++++------
> 4 files changed, 15 insertions(+), 15 deletions(-)
>
> This patch makes packed_git_mru global a value instead of a pointer and
> makes use of list.h
Please explain _why_ you are doing that (why is the resulting code better).
You may also add [Outreachy] in the patch subject to tell people that
you are applying for the Outreachy round 15 program
(https://git.github.io/Outreachy-15/).
Thanks!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] pack: make packed_git_mru global a value instead of a pointer
2017-09-17 20:42 ` Christian Couder
@ 2017-09-17 20:44 ` Christian Couder
2017-09-18 17:26 ` Stefan Beller
0 siblings, 1 reply; 4+ messages in thread
From: Christian Couder @ 2017-09-17 20:44 UTC (permalink / raw)
To: phionah bugosi; +Cc: Jeff King, git
On Sun, Sep 17, 2017 at 10:42 PM, Christian Couder
<christian.couder@gmail.com> wrote:
> On Sun, Sep 17, 2017 at 10:17 PM, phionah bugosi <bugosip@gmail.com> wrote:
>> Signed-off-by: phionah bugosi <bugosip@gmail.com>
>> ---
>> builtin/pack-objects.c | 5 +++--
>> cache.h | 7 -------
>> list.h | 6 ++++++
>> packfile.c | 12 ++++++------
>> 4 files changed, 15 insertions(+), 15 deletions(-)
>>
>> This patch makes packed_git_mru global a value instead of a pointer and
>> makes use of list.h
>
> Please explain _why_ you are doing that (why is the resulting code better).
Also the explanations should be in the commit message, that is above
your "Signed-off-by: ..." line.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] pack: make packed_git_mru global a value instead of a pointer
2017-09-17 20:44 ` Christian Couder
@ 2017-09-18 17:26 ` Stefan Beller
0 siblings, 0 replies; 4+ messages in thread
From: Stefan Beller @ 2017-09-18 17:26 UTC (permalink / raw)
To: Christian Couder; +Cc: phionah bugosi, Jeff King, git
On Sun, Sep 17, 2017 at 1:44 PM, Christian Couder
<christian.couder@gmail.com> wrote:
> On Sun, Sep 17, 2017 at 10:42 PM, Christian Couder
> <christian.couder@gmail.com> wrote:
>> On Sun, Sep 17, 2017 at 10:17 PM, phionah bugosi <bugosip@gmail.com> wrote:
>>> Signed-off-by: phionah bugosi <bugosip@gmail.com>
>>> ---
>>> builtin/pack-objects.c | 5 +++--
>>> cache.h | 7 -------
>>> list.h | 6 ++++++
>>> packfile.c | 12 ++++++------
>>> 4 files changed, 15 insertions(+), 15 deletions(-)
>>>
>>> This patch makes packed_git_mru global a value instead of a pointer and
>>> makes use of list.h
>>
>> Please explain _why_ you are doing that (why is the resulting code better).
>
> Also the explanations should be in the commit message, that is above
> your "Signed-off-by: ..." line.
A similar patch exists at origin/jn/per-repo-object-store-fixes^^
(I haven't checked if there are differences and if so which
patch is better, all I am noting here, is that there has been
work very similar to this one a couple days prior)
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-09-18 17:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-17 20:17 [PATCH] pack: make packed_git_mru global a value instead of a pointer phionah bugosi
2017-09-17 20:42 ` Christian Couder
2017-09-17 20:44 ` Christian Couder
2017-09-18 17:26 ` Stefan Beller
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).