[PATCH v2 04/10] archive.c: convert to use struct object_id

2015-03-13 Thread brian m. carlson
Signed-off-by: brian m. carlson sand...@crustytoothpaste.net
---
 archive.c | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/archive.c b/archive.c
index 96057ed..d37c41d 100644
--- a/archive.c
+++ b/archive.c
@@ -101,7 +101,7 @@ static void setup_archive_check(struct git_attr_check 
*check)
 
 struct directory {
struct directory *up;
-   unsigned char sha1[20];
+   struct object_id oid;
int baselen, len;
unsigned mode;
int stage;
@@ -177,7 +177,7 @@ static void queue_directory(const unsigned char *sha1,
d-stage   = stage;
c-bottom  = d;
d-len = sprintf(d-path, %.*s%s/, (int)base-len, base-buf, 
filename);
-   hashcpy(d-sha1, sha1);
+   hashcpy(d-oid.hash, sha1);
 }
 
 static int write_directory(struct archiver_context *c)
@@ -191,7 +191,7 @@ static int write_directory(struct archiver_context *c)
d-path[d-len - 1] = '\0'; /* no trailing slash */
ret =
write_directory(c) ||
-   write_archive_entry(d-sha1, d-path, d-baselen,
+   write_archive_entry(d-oid.hash, d-path, d-baselen,
d-path + d-baselen, d-mode,
d-stage, c) != READ_TREE_RECURSIVE;
free(d);
@@ -354,7 +354,7 @@ static void parse_treeish_arg(const char **argv,
time_t archive_time;
struct tree *tree;
const struct commit *commit;
-   unsigned char sha1[20];
+   struct object_id oid;
 
/* Remotes are only allowed to fetch actual refs */
if (remote  !remote_allow_unreachable) {
@@ -362,15 +362,15 @@ static void parse_treeish_arg(const char **argv,
const char *colon = strchrnul(name, ':');
int refnamelen = colon - name;
 
-   if (!dwim_ref(name, refnamelen, sha1, ref))
+   if (!dwim_ref(name, refnamelen, oid.hash, ref))
die(no such ref: %.*s, refnamelen, name);
free(ref);
}
 
-   if (get_sha1(name, sha1))
+   if (get_sha1(name, oid.hash))
die(Not a valid object name);
 
-   commit = lookup_commit_reference_gently(sha1, 1);
+   commit = lookup_commit_reference_gently(oid.hash, 1);
if (commit) {
commit_sha1 = commit-object.sha1;
archive_time = commit-date;
@@ -379,21 +379,21 @@ static void parse_treeish_arg(const char **argv,
archive_time = time(NULL);
}
 
-   tree = parse_tree_indirect(sha1);
+   tree = parse_tree_indirect(oid.hash);
if (tree == NULL)
die(not a tree object);
 
if (prefix) {
-   unsigned char tree_sha1[20];
+   struct object_id tree_oid;
unsigned int mode;
int err;
 
err = get_tree_entry(tree-object.sha1, prefix,
-tree_sha1, mode);
+tree_oid.hash, mode);
if (err || !S_ISDIR(mode))
die(current working directory is untracked);
 
-   tree = parse_tree_indirect(tree_sha1);
+   tree = parse_tree_indirect(tree_oid.hash);
}
ar_args-tree = tree;
ar_args-commit_sha1 = commit_sha1;
-- 
2.2.1.209.g41e5f3a

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 04/10] archive.c: convert to use struct object_id

2015-03-12 Thread Michael Haggerty
On 03/08/2015 12:23 AM, brian m. carlson wrote:
 Convert a hard-coded 20 as well.
 
 Signed-off-by: brian m. carlson sand...@crustytoothpaste.net
 ---
  archive.c | 18 +-
  1 file changed, 9 insertions(+), 9 deletions(-)
 
 diff --git a/archive.c b/archive.c
 index 96057ed..46d9025 100644
 --- a/archive.c
 +++ b/archive.c
 @@ -101,7 +101,7 @@ static void setup_archive_check(struct git_attr_check 
 *check)
  
  struct directory {
   struct directory *up;
 - unsigned char sha1[20];
 + unsigned char sha1[GIT_SHA1_RAWSZ];

This is a local struct, and I think it is only a three-line change to
change the sha1 member to

struct object_id oid;

Though perhaps you are delaying that change for some concrete reason.

 [...]

Michael

-- 
Michael Haggerty
mhag...@alum.mit.edu

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 04/10] archive.c: convert to use struct object_id

2015-03-11 Thread brian m. carlson

On Wed, Mar 11, 2015 at 03:20:08PM +0100, Michael Haggerty wrote:

On 03/08/2015 12:23 AM, brian m. carlson wrote:

 struct directory {
struct directory *up;
-   unsigned char sha1[20];
+   unsigned char sha1[GIT_SHA1_RAWSZ];


This is a local struct, and I think it is only a three-line change to
change the sha1 member to

   struct object_id oid;

Though perhaps you are delaying that change for some concrete reason.


No, I just overlooked it.  I'll fix that in the re-roll.
--
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187


signature.asc
Description: Digital signature


[PATCH v2 04/10] archive.c: convert to use struct object_id

2015-03-07 Thread brian m. carlson
Convert a hard-coded 20 as well.

Signed-off-by: brian m. carlson sand...@crustytoothpaste.net
---
 archive.c | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/archive.c b/archive.c
index 96057ed..46d9025 100644
--- a/archive.c
+++ b/archive.c
@@ -101,7 +101,7 @@ static void setup_archive_check(struct git_attr_check 
*check)
 
 struct directory {
struct directory *up;
-   unsigned char sha1[20];
+   unsigned char sha1[GIT_SHA1_RAWSZ];
int baselen, len;
unsigned mode;
int stage;
@@ -354,7 +354,7 @@ static void parse_treeish_arg(const char **argv,
time_t archive_time;
struct tree *tree;
const struct commit *commit;
-   unsigned char sha1[20];
+   struct object_id oid;
 
/* Remotes are only allowed to fetch actual refs */
if (remote  !remote_allow_unreachable) {
@@ -362,15 +362,15 @@ static void parse_treeish_arg(const char **argv,
const char *colon = strchrnul(name, ':');
int refnamelen = colon - name;
 
-   if (!dwim_ref(name, refnamelen, sha1, ref))
+   if (!dwim_ref(name, refnamelen, oid.sha1, ref))
die(no such ref: %.*s, refnamelen, name);
free(ref);
}
 
-   if (get_sha1(name, sha1))
+   if (get_sha1(name, oid.sha1))
die(Not a valid object name);
 
-   commit = lookup_commit_reference_gently(sha1, 1);
+   commit = lookup_commit_reference_gently(oid.sha1, 1);
if (commit) {
commit_sha1 = commit-object.sha1;
archive_time = commit-date;
@@ -379,21 +379,21 @@ static void parse_treeish_arg(const char **argv,
archive_time = time(NULL);
}
 
-   tree = parse_tree_indirect(sha1);
+   tree = parse_tree_indirect(oid.sha1);
if (tree == NULL)
die(not a tree object);
 
if (prefix) {
-   unsigned char tree_sha1[20];
+   struct object_id tree_oid;
unsigned int mode;
int err;
 
err = get_tree_entry(tree-object.sha1, prefix,
-tree_sha1, mode);
+tree_oid.sha1, mode);
if (err || !S_ISDIR(mode))
die(current working directory is untracked);
 
-   tree = parse_tree_indirect(tree_sha1);
+   tree = parse_tree_indirect(tree_oid.sha1);
}
ar_args-tree = tree;
ar_args-commit_sha1 = commit_sha1;
-- 
2.2.1.209.g41e5f3a

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html