Re: [PATCH 03/35] object: add repository argument to lookup_unknown_object

2018-06-13 Thread Derrick Stolee

On 6/13/2018 3:30 PM, Stefan Beller wrote:

On Wed, Jun 6, 2018 at 12:38 PM Duy Nguyen  wrote:

On Wed, May 30, 2018 at 2:47 AM, Stefan Beller  wrote:

diff --git a/object.c b/object.c
index 4de4fa58d59..def3c71cac2 100644
--- a/object.c
+++ b/object.c
@@ -177,7 +177,7 @@ void *object_as_type(struct object *obj, enum object_type 
type, int quiet)
 }
  }

-struct object *lookup_unknown_object(const unsigned char *sha1)
+struct object *lookup_unknown_object_the_repository(const unsigned char *sha1)

I'm looking at your branch and this function (with the _the_repository
suffix) is still there. Did you forget to send a patch to convert this
function?

This and parse_commit and parse_commit_gently have not been converted.

I stopped with this series as soon as I hit the commit-graph code, which needs
to be updated, too. I'll start redoing this series soon and will fix
those conversions.


Yes, we are colliding a bit at the moment.

 I'm planning to delay rerolling my patches until your last few series 
get merged.


Thanks,

-Stolee



Re: [PATCH 03/35] object: add repository argument to lookup_unknown_object

2018-06-13 Thread Stefan Beller
On Wed, Jun 6, 2018 at 12:38 PM Duy Nguyen  wrote:
>
> On Wed, May 30, 2018 at 2:47 AM, Stefan Beller  wrote:
> > diff --git a/object.c b/object.c
> > index 4de4fa58d59..def3c71cac2 100644
> > --- a/object.c
> > +++ b/object.c
> > @@ -177,7 +177,7 @@ void *object_as_type(struct object *obj, enum 
> > object_type type, int quiet)
> > }
> >  }
> >
> > -struct object *lookup_unknown_object(const unsigned char *sha1)
> > +struct object *lookup_unknown_object_the_repository(const unsigned char 
> > *sha1)
>
> I'm looking at your branch and this function (with the _the_repository
> suffix) is still there. Did you forget to send a patch to convert this
> function?

This and parse_commit and parse_commit_gently have not been converted.

I stopped with this series as soon as I hit the commit-graph code, which needs
to be updated, too. I'll start redoing this series soon and will fix
those conversions.


Re: [PATCH 03/35] object: add repository argument to lookup_unknown_object

2018-06-06 Thread Duy Nguyen
On Wed, May 30, 2018 at 2:47 AM, Stefan Beller  wrote:
> diff --git a/object.c b/object.c
> index 4de4fa58d59..def3c71cac2 100644
> --- a/object.c
> +++ b/object.c
> @@ -177,7 +177,7 @@ void *object_as_type(struct object *obj, enum object_type 
> type, int quiet)
> }
>  }
>
> -struct object *lookup_unknown_object(const unsigned char *sha1)
> +struct object *lookup_unknown_object_the_repository(const unsigned char 
> *sha1)

I'm looking at your branch and this function (with the _the_repository
suffix) is still there. Did you forget to send a patch to convert this
function?

>  {
> struct object *obj = lookup_object(the_repository, sha1);
> if (!obj)
-- 
Duy


Re: [PATCH 03/35] object: add repository argument to lookup_unknown_object

2018-05-30 Thread Derrick Stolee

On 5/29/2018 8:47 PM, Stefan Beller wrote:

From: Jonathan Nieder 

Add a repository argument to allow callers of lookup_unknown_object to
be more specific about which repository to handle. This is a small
mechanical change; it doesn't change the implementation to handle
repositories other than the_repository yet.

As with the previous commits, use a macro to catch callers passing a
repositor other than the_repository at compile time.

The included coccinelle semantic patch will adapt any new callers in
the diff produced by `make coccicheck`.


I don't see any coccinelle change in this patch.

Perhaps it is in a later commit?

Thanks,

-Stolee



Signed-off-by: Jonathan Nieder 
Signed-off-by: Stefan Beller 
---
  builtin/fsck.c   | 2 +-
  builtin/pack-objects.c   | 2 +-
  http-push.c  | 2 +-
  object.c | 2 +-
  object.h | 3 ++-
  refs.c   | 2 +-
  t/helper/test-example-decorate.c | 6 +++---
  upload-pack.c| 2 +-
  walker.c | 2 +-
  9 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/builtin/fsck.c b/builtin/fsck.c
index 98fdeef5407..700739804fc 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -638,7 +638,7 @@ static int fsck_cache_tree(struct cache_tree *it)
  
  static void mark_object_for_connectivity(const struct object_id *oid)

  {
-   struct object *obj = lookup_unknown_object(oid->hash);
+   struct object *obj = lookup_unknown_object(the_repository, oid->hash);
obj->flags |= HAS_OBJ;
  }
  
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c

index 8c108109985..6eae39cf858 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -2689,7 +2689,7 @@ static void add_objects_in_unpacked_packs(struct rev_info 
*revs)
  
  		for (i = 0; i < p->num_objects; i++) {

nth_packed_object_oid(&oid, p, i);
-   o = lookup_unknown_object(oid.hash);
+   o = lookup_unknown_object(the_repository, oid.hash);
if (!(o->flags & OBJECT_ADDED))
mark_in_pack_object(o, p, &in_pack);
o->flags |= OBJECT_ADDED;
diff --git a/http-push.c b/http-push.c
index 2615c823d60..04d95bd5da8 100644
--- a/http-push.c
+++ b/http-push.c
@@ -1429,7 +1429,7 @@ static void one_remote_ref(const char *refname)
 * may be required for updating server info later.
 */
if (repo->can_update_info_refs && !has_object_file(&ref->old_oid)) {
-   obj = lookup_unknown_object(ref->old_oid.hash);
+   obj = lookup_unknown_object(the_repository, ref->old_oid.hash);
fprintf(stderr, "  fetch %s for %s\n",
oid_to_hex(&ref->old_oid), refname);
add_fetch_request(obj);
diff --git a/object.c b/object.c
index 4de4fa58d59..def3c71cac2 100644
--- a/object.c
+++ b/object.c
@@ -177,7 +177,7 @@ void *object_as_type(struct object *obj, enum object_type 
type, int quiet)
}
  }
  
-struct object *lookup_unknown_object(const unsigned char *sha1)

+struct object *lookup_unknown_object_the_repository(const unsigned char *sha1)
  {
struct object *obj = lookup_object(the_repository, sha1);
if (!obj)
diff --git a/object.h b/object.h
index fa41d711f44..778f83bf0f7 100644
--- a/object.h
+++ b/object.h
@@ -139,7 +139,8 @@ struct object *parse_object_or_die(const struct object_id 
*oid, const char *name
  struct object *parse_object_buffer(const struct object_id *oid, enum 
object_type type, unsigned long size, void *buffer, int *eaten_p);
  
  /** Returns the object, with potentially excess memory allocated. **/

-struct object *lookup_unknown_object(const unsigned  char *sha1);
+#define lookup_unknown_object(r, s) lookup_unknown_object_##r(s)
+struct object *lookup_unknown_object_the_repository(const unsigned char *sha1);
  
  struct object_list *object_list_insert(struct object *item,

   struct object_list **list_p);
diff --git a/refs.c b/refs.c
index 23d53957deb..3b9e8463656 100644
--- a/refs.c
+++ b/refs.c
@@ -301,7 +301,7 @@ static int filter_refs(const char *refname, const struct 
object_id *oid,
  
  enum peel_status peel_object(const struct object_id *name, struct object_id *oid)

  {
-   struct object *o = lookup_unknown_object(name->hash);
+   struct object *o = lookup_unknown_object(the_repository, name->hash);
  
  	if (o->type == OBJ_NONE) {

int type = oid_object_info(the_repository, name, NULL);
diff --git a/t/helper/test-example-decorate.c b/t/helper/test-example-decorate.c
index 081115bf8eb..33e727f7fc5 100644
--- a/t/helper/test-example-decorate.c
+++ b/t/helper/test-example-decorate.c
@@ -26,8 +26,8 @@ int cmd__example_decorate(int argc, const char **argv)
 * Add 2 objects, one with a non-NULL decoration and one with a NULL
  

[PATCH 03/35] object: add repository argument to lookup_unknown_object

2018-05-29 Thread Stefan Beller
From: Jonathan Nieder 

Add a repository argument to allow callers of lookup_unknown_object to
be more specific about which repository to handle. This is a small
mechanical change; it doesn't change the implementation to handle
repositories other than the_repository yet.

As with the previous commits, use a macro to catch callers passing a
repository other than the_repository at compile time.

The included coccinelle semantic patch will adapt any new callers in
the diff produced by `make coccicheck`.

Signed-off-by: Jonathan Nieder 
Signed-off-by: Stefan Beller 
---
 builtin/fsck.c   | 2 +-
 builtin/pack-objects.c   | 2 +-
 http-push.c  | 2 +-
 object.c | 2 +-
 object.h | 3 ++-
 refs.c   | 2 +-
 t/helper/test-example-decorate.c | 6 +++---
 upload-pack.c| 2 +-
 walker.c | 2 +-
 9 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/builtin/fsck.c b/builtin/fsck.c
index 98fdeef5407..700739804fc 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -638,7 +638,7 @@ static int fsck_cache_tree(struct cache_tree *it)
 
 static void mark_object_for_connectivity(const struct object_id *oid)
 {
-   struct object *obj = lookup_unknown_object(oid->hash);
+   struct object *obj = lookup_unknown_object(the_repository, oid->hash);
obj->flags |= HAS_OBJ;
 }
 
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index 8c108109985..6eae39cf858 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -2689,7 +2689,7 @@ static void add_objects_in_unpacked_packs(struct rev_info 
*revs)
 
for (i = 0; i < p->num_objects; i++) {
nth_packed_object_oid(&oid, p, i);
-   o = lookup_unknown_object(oid.hash);
+   o = lookup_unknown_object(the_repository, oid.hash);
if (!(o->flags & OBJECT_ADDED))
mark_in_pack_object(o, p, &in_pack);
o->flags |= OBJECT_ADDED;
diff --git a/http-push.c b/http-push.c
index 2615c823d60..04d95bd5da8 100644
--- a/http-push.c
+++ b/http-push.c
@@ -1429,7 +1429,7 @@ static void one_remote_ref(const char *refname)
 * may be required for updating server info later.
 */
if (repo->can_update_info_refs && !has_object_file(&ref->old_oid)) {
-   obj = lookup_unknown_object(ref->old_oid.hash);
+   obj = lookup_unknown_object(the_repository, ref->old_oid.hash);
fprintf(stderr, "  fetch %s for %s\n",
oid_to_hex(&ref->old_oid), refname);
add_fetch_request(obj);
diff --git a/object.c b/object.c
index 4de4fa58d59..def3c71cac2 100644
--- a/object.c
+++ b/object.c
@@ -177,7 +177,7 @@ void *object_as_type(struct object *obj, enum object_type 
type, int quiet)
}
 }
 
-struct object *lookup_unknown_object(const unsigned char *sha1)
+struct object *lookup_unknown_object_the_repository(const unsigned char *sha1)
 {
struct object *obj = lookup_object(the_repository, sha1);
if (!obj)
diff --git a/object.h b/object.h
index fa41d711f44..778f83bf0f7 100644
--- a/object.h
+++ b/object.h
@@ -139,7 +139,8 @@ struct object *parse_object_or_die(const struct object_id 
*oid, const char *name
 struct object *parse_object_buffer(const struct object_id *oid, enum 
object_type type, unsigned long size, void *buffer, int *eaten_p);
 
 /** Returns the object, with potentially excess memory allocated. **/
-struct object *lookup_unknown_object(const unsigned  char *sha1);
+#define lookup_unknown_object(r, s) lookup_unknown_object_##r(s)
+struct object *lookup_unknown_object_the_repository(const unsigned char *sha1);
 
 struct object_list *object_list_insert(struct object *item,
   struct object_list **list_p);
diff --git a/refs.c b/refs.c
index 23d53957deb..3b9e8463656 100644
--- a/refs.c
+++ b/refs.c
@@ -301,7 +301,7 @@ static int filter_refs(const char *refname, const struct 
object_id *oid,
 
 enum peel_status peel_object(const struct object_id *name, struct object_id 
*oid)
 {
-   struct object *o = lookup_unknown_object(name->hash);
+   struct object *o = lookup_unknown_object(the_repository, name->hash);
 
if (o->type == OBJ_NONE) {
int type = oid_object_info(the_repository, name, NULL);
diff --git a/t/helper/test-example-decorate.c b/t/helper/test-example-decorate.c
index 081115bf8eb..33e727f7fc5 100644
--- a/t/helper/test-example-decorate.c
+++ b/t/helper/test-example-decorate.c
@@ -26,8 +26,8 @@ int cmd__example_decorate(int argc, const char **argv)
 * Add 2 objects, one with a non-NULL decoration and one with a NULL
 * decoration.
 */
-   one = lookup_unknown_object(one_oid.hash);
-   two = lookup_unknown_object(two_oid.hash);
+   one = lookup_unknown_obj