summaryrefslogtreecommitdiff
path: root/commit-tree.c
Commit message (Collapse)AuthorAgeFilesLines
* git-commit-tree: ignore duplicate parentsLinus Torvalds2005-06-191-2/+16
| | | | | | | | | | | | | But warn about them. If somebody really ends up later wanting to explicitly add a note that something has the same parent twice (who knows, there are strange people around), we can add a flag to say that it's expected and ok. This was brought on by a commit in the kernel tree, where a repeated merge caused a duplicate parent. Parent duplicates aren't "wrong" per se, they're just in practice not something you are ever interested in.
* [PATCH] fix and testcase for git-commit-tree optionRene Scharfe2005-05-261-1/+1
| | | | | | | | | | | Actually use GIT_COMMITTER_DATE in git-commit-tree. (It used to mistakenly re-use the author date) Add test-case for it. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* git-commit-tree: allow overriding of commit dateLinus Torvalds2005-05-241-2/+5
| | | | Using GIT_COMMITTER_DATE, of course..
* Include file cleanups..Linus Torvalds2005-05-221-2/+0
| | | | | | | Add <limits.h> to the include files handled by "cache.h", and remove extraneous #include directives from various .c files. The rule is that "cache.h" gets all the basic stuff, so that we'll have as few system dependencies as possible.
* [PATCH] cleanup of in-code namesAlexey Nezhdanov2005-05-191-1/+1
| | | | | | | Fixes all in-code names that leaved during "big name change". Signed-off-by: Alexey Nezhdanov <snake@penza-gsm.ru> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Rename environment variables.Junio C Hamano2005-05-091-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>
* Add "get_sha1()" helper function.Linus Torvalds2005-05-011-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.
* [PATCH] Do date parsing by hand...Edgar Toernig2005-04-301-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.
* [PATCH] Fix AUTHOR_DATE timezone confusiontony.luck@intel.com2005-04-291-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>
* [PATCH] introduce xmalloc and xreallocChristopher Li2005-04-261-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>
* Simplify "write_sha1_file()" interfacesLinus Torvalds2005-04-251-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.
* [PATCH] Usage-string fixes.Junio C Hamano2005-04-201-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>
* Make us be better at guessing a good hostname for the email.Linus Torvalds2005-04-191-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.
* [PATCH] provide better committer information to commit-tree.cGreg KH2005-04-181-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>
* [PATCH] fork optional branch point normazilationBrad Roberts2005-04-171-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>
* Remove extraneous ',' ';' and '.' characters from the full name gecos field.Linus Torvalds2005-04-171-0/+15
| | | | Apparently some distributions tend to have space for phone numbers etc there.
* Make "commit-tree" check the input objects more carefully.Linus Torvalds2005-04-171-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..
* [PATCH] Simplify date handling and make it more reliableDavid Woodhouse2005-04-151-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.
* [PATCH] Whitespace FixesIngo Molnar2005-04-131-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>
* [PATCH] Consolidate the error handlingPetr Baudis2005-04-131-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>
* Fix up commit-tree/diff-tree user interface issues.Linus Torvalds2005-04-111-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.
* This implements the new "recursive tree" write-tree.Linus Torvalds2005-04-091-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.
* Add copyright notices.Linus Torvalds2005-04-071-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.
* Initial revision of "git", the information manager from hellinitialLinus Torvalds2005-04-071-0/+172