summaryrefslogtreecommitdiff
path: root/commit-tree.c
AgeCommit message (Collapse)AuthorFilesLines
2005-05-09Rename environment variables.Libravatar Junio C Hamano1-5/+5
H. Peter Anvin mentioned that using SHA1_whatever as an environment variable name is not nice and we should instead use names starting with "GIT_" prefix to avoid conflicts. Here is what this patch does: * Renames the following environment variables: New name Old Name GIT_AUTHOR_DATE AUTHOR_DATE GIT_AUTHOR_EMAIL AUTHOR_EMAIL GIT_AUTHOR_NAME AUTHOR_NAME GIT_COMMITTER_EMAIL COMMIT_AUTHOR_EMAIL GIT_COMMITTER_NAME COMMIT_AUTHOR_NAME GIT_ALTERNATE_OBJECT_DIRECTORIES SHA1_FILE_DIRECTORIES GIT_OBJECT_DIRECTORY SHA1_FILE_DIRECTORY * Introduces a compatibility macro, gitenv(), which does an getenv() and if it fails calls gitenv_bc(), which in turn picks up the value from old name while giving a warning about using an old name. * Changes all users of the environment variable to fetch environment variable with the new name using gitenv(). * Updates the documentation and scripts shipped with Linus GIT distribution. The transition plan is as follows: * We will keep the backward compatibility list used by gitenv() for now, so the current scripts and user environments continue to work as before. The users will get warnings when they have old name but not new name in their environment to the stderr. * The Porcelain layers should start using new names. However, just in case it ends up calling old Plumbing layer implementation, they should also export old names, taking values from the corresponding new names, during the transition period. * After a transition period, we would drop the compatibility support and drop gitenv(). Revert the callers to directly call getenv() but keep using the new names. The last part is probably optional and the transition duration needs to be set to a reasonable value. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-01Add "get_sha1()" helper function.Libravatar Linus Torvalds1-1/+1
This allows the programs to use various simplified versions of the SHA1 names, eg just say "HEAD" for the SHA1 pointed to by the .git/HEAD file etc. For example, this commit has been done with git-commit-tree $(git-write-tree) -p HEAD instead of the traditional "$(cat .git/HEAD)" syntax.
2005-04-30[PATCH] Do date parsing by hand...Libravatar Edgar Toernig1-25/+2
...since everything out there is either strange (libc mktime has issues with timezones) or introduces unnecessary dependencies for people (libcurl). This goes back to the old date parsing, but moves it out into a file of its own, and does the "struct tm" to "seconds since epoch" handling by hand. I grepped through the tz-database and it seems there's one "country" left that has non-60-minute DST: Lord Howe Island. All others dropped that before 1970.
2005-04-29[PATCH] Fix AUTHOR_DATE timezone confusionLibravatar tony.luck@intel.com1-133/+10
This switches git-commit-tree to using curl_getdate() for the AUTHOR_DATE, and thus fixes the problem with "mktime()" parsing dates in the local timezone. It also ends up being more permissive about the format of the date. Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-26[PATCH] introduce xmalloc and xreallocLibravatar Christopher Li1-2/+2
Introduce xmalloc and xrealloc to die gracefully with a descriptive message when out of memory, rather than taking a SIGSEGV. Signed-off-by: Christopher Li<chrislgit@chrisli.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-25Simplify "write_sha1_file()" interfacesLibravatar Linus Torvalds1-37/+2
The write function now adds the header to the file by itself, so there is no reason to duplicate it among all the users any more.
2005-04-20[PATCH] Usage-string fixes.Libravatar Junio C Hamano1-8/+6
Usage string fixes to make maintenance easier (only one instance of a string to update not multiple copies). I've spotted and corrected inconsistent usage text in diff-tree while doing this. Also diff-cache and read-tree usage text have been corrected to match their up-to-date features. Earlier, neither "--cached" form of diff-cache nor "-m single-merge" form of read-tree were described. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-19Make us be better at guessing a good hostname for the email.Libravatar Linus Torvalds1-2/+4
It's still just a guess, and the result is not a real email address anyway. If you want to, you can use COMMIT_AUTHOR_EMAIL to correct for any git guesses.
2005-04-18[PATCH] provide better committer information to commit-tree.cLibravatar Greg KH1-5/+9
Here's a small patch to commit-tree.c that does two things: - allows the committer email address and name to be overridden by environment variables (if you don't like the environment variable names I've used (COMMIT_AUTHOR_NAME, COMMIT_AUTHOR_EMAIL), feel free to change them.) - provide the proper domainname to the author/committer email address (otherwise, my address was only showing up as from the hostname.) This allows people to set sane values for the commit names and email addresses, preventing odd, private hostnames and domains from being exposed to the world. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-17[PATCH] fork optional branch point normazilationLibravatar Brad Roberts1-3/+3
Fix remove_specials for real. The second half logic needs the original head of the string. Signed-off-by: Brad Roberts <braddr@puremagic.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-17Remove extraneous ',' ';' and '.' characters from the full name gecos field.Libravatar Linus Torvalds1-0/+15
Apparently some distributions tend to have space for phone numbers etc there.
2005-04-17Make "commit-tree" check the input objects more carefully.Libravatar Linus Torvalds1-0/+14
Let's not allow trivially bogus commits. I did one for the first trial of the first kernel git merge. fsck found it ok, but..
2005-04-15[PATCH] Simplify date handling and make it more reliableLibravatar David Woodhouse1-4/+155
This make all dates be stores as seconds since UTC epoch, with the author's or committer's timezone as auxiliary data so that dates can be pretty-printed in the original timezone later if anyone cares. I left the date parsing in rev-tree.c for backward compatibility but it can be dropped when we change to base64 :) commit-tree now eats RFC2822 dates as AUTHOR_DATE because that's what you're going to want to feed it. Yes, glibc sucks and strptime is a pile of crap. We have to parse it ourselves.
2005-04-13[PATCH] Whitespace FixesLibravatar Ingo Molnar1-1/+1
Trivial whitespace fixes. From: Ingo Molnar <mingo@elte.hu> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-04-13[PATCH] Consolidate the error handlingLibravatar Petr Baudis1-1/+1
Now there is error() for "library" errors and die() for fatal "application" errors. usage() is now used strictly only for usage errors. Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-04-11Fix up commit-tree/diff-tree user interface issues.Libravatar Linus Torvalds1-3/+3
No, this doesn't make them easy to use, but makes diff-tree use the "-r" flag for "recursive" (not "-R") and makes commit-tree use AUTHOR_xxx environment flags (not COMMITTER_xxx) to match what it actually does.
2005-04-09This implements the new "recursive tree" write-tree.Libravatar Linus Torvalds1-1/+3
It's got some debugging printouts etc still in it, but testing on the kernel seems to show that it does indeed fix the issue with huge tree files for each commit.
2005-04-07Add copyright notices.Libravatar Linus Torvalds1-0/+5
The tool interface sucks (especially "committing" information, which is just me doing everything by hand from the command line), but I think this is in theory actually a viable way of describing the world. So copyright it.
2005-04-07Initial revision of "git", the information manager from hellLibravatar Linus Torvalds1-0/+172