summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-11-01 15:09:55 -0800
committerJunio C Hamano <junkio@cox.net>2006-11-01 15:09:55 -0800
commit7854e526ff170846aef4ae3c71588c98ed9176d0 (patch)
treecccd87eb87799759e85f1a884668b60f1c2f3bf5
parent1da1b3a3e06fdcbbd0b154a6930fc0261a5ee866 (diff)
parente23ed9a8b4769fcba0944cf121d366ec7db7fe3b (diff)
downloadgit-7854e526ff170846aef4ae3c71588c98ed9176d0.tar.gz
Merge branch 'maint'
* maint: pack-objects doesn't create random pack names link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure
-rw-r--r--Documentation/git-pack-objects.txt5
-rw-r--r--sha1_file.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.txt
index a1e55054bd..9bd1e39feb 100644
--- a/Documentation/git-pack-objects.txt
+++ b/Documentation/git-pack-objects.txt
@@ -47,9 +47,8 @@ base-name::
<base-name> to determine the name of the created file.
When this option is used, the two files are written in
<base-name>-<SHA1>.{pack,idx} files. <SHA1> is a hash
- of object names (currently in random order so it does
- not have any useful meaning) to make the resulting
- filename reasonably unique, and written to the standard
+ of the sorted object names to make the resulting filename
+ based on the pack content, and written to the standard
output of the command.
--stdout::
diff --git a/sha1_file.c b/sha1_file.c
index e89d24c015..570706919a 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -1400,8 +1400,10 @@ static int link_temp_to_file(const char *tmpfile, const char *filename)
if (dir) {
*dir = 0;
mkdir(filename, 0777);
- if (adjust_shared_perm(filename))
+ if (adjust_shared_perm(filename)) {
+ *dir = '/';
return -2;
+ }
*dir = '/';
if (!link(tmpfile, filename))
return 0;