summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2005-09-27[PATCH] Implement --recover for git-*-fetchLibravatar Daniel Barkalow5-1/+13
With the --recover option, we verify that we have absolutely everything reachable from the target, not assuming that things reachable from refs will be complete. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-27[PATCH] Provide access to git_dir through get_git_dir().Libravatar Sven Verdoolaege4-7/+10
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-27[PATCH] Make the test more shell generic and fix missing Solaris find optionLibravatar Peter Eriksen3-3/+4
This is from Peter Eriksen, but further fixed. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-27Really require tk 8.4 (RPM)Libravatar Junio C Hamano1-1/+1
**BLUSH** Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-26Require tk 8.4 (RPM)Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-26Merge http://www.kernel.org/pub/scm/gitk/gitkLibravatar Junio C Hamano1-1/+9
2005-09-26git-fetch: send informational output to >&2 consistently.Libravatar Junio C Hamano1-1/+1
Only the "Fetching ... using http" was leaking to stdout. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-26Give default merge message after failed automerge.Libravatar Junio C Hamano2-4/+13
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-26Do not require clean tree when reverting and cherry-picking.Libravatar Junio C Hamano2-12/+4
My stupidity deserved to be yelled at by Linus ... there is no reason to require the working tree to be clean when merging -- the only requirements are index to match HEAD commit and the paths involved in merge are up to date in the working tree. Revert and cherry-pick are just specialized forms of merge, and the requirements should be the same. Remove the 'general purpose routine to make sure tree is clean' from git-sh-setup, to prevent me from getting tempted again. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-26Fix overzealous cleanliness check in git-mergeLibravatar Junio C Hamano1-18/+50
Being able to try multiple strategies and automatically picking one that seems to give less conflicting result may or may not much sense in practice. At least that should not force normal use case to additionally require the working tree to be fully clean. As Linus shouted, local changes do not matter unless they interfere with the merge. This commit changes git-merge not to require a clean working tree. Only when we will iterate through more than one merge strategies, local changes are stashed away before trying the first merge, and restored before second and later merges are attempted. The index file must be in sync with HEAD in any case -- otherwise the merge result would contain changes since HEAD that was done locally and registered in the index. This check is already enforced by three-way read-tree existing merge strategies use, but is done here as a safeguard as well. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-26git-clone: check out "master" by default.Libravatar Junio C Hamano1-6/+15
And with -n flag you can tell it not to. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-27Use "$@" rather than "${1+$@}" when invoking wish.Libravatar Paul Mackerras1-1/+1
2005-09-25Plug a small race in update-ref.c.Libravatar Junio C Hamano1-4/+22
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-26Change wish8.4 back to wishLibravatar Paul Mackerras1-1/+1
Checking in the change from wish to wish8.4 was a mistake; I had changed it for a test but forgot to change it back before checking in a patch.
2005-09-25[PATCH] Add "git-update-ref" to update the HEAD (or other) refLibravatar Linus Torvalds2-0/+112
This is a careful version of the script stuff that currently just blindly writes HEAD with a new value. You can use git-update-ref HEAD <newhead> or git-update-ref HEAD <newhead> <oldhead> where the latter version verifies that the old value of HEAD matches oldhead. It basically allows a "ref" file to be a symbolic pointer to another ref file by starting with the four-byte header sequence of "ref:". More importantly, it allows the update of a ref file to follow these symbolic pointers, whether they are symlinks or these "regular file symbolic refs". NOTE! It follows _real_ symlinks only if they start with "refs/": otherwise it will just try to read them and update them as a regular file (ie it will allow the filesystem to follow them, but will overwrite such a symlink to somewhere else with a regular filename). In general, using git-update-ref HEAD "$head" should be a _lot_ safer than doing echo "$head" > "$GIT_DIR/HEAD" both from a symlink following standpoint _and_ an error checking standpoint. The "refs/" rule for symlinks means that symlinks that point to "outside" the tree are safe: they'll be followed for reading but not for writing (so we'll never write through a ref symlink to some other tree, if you have copied a whole archive by creating a symlink tree). Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-25[PATCH] More descriptive messages for conflict cases in mergesLibravatar Fredrik Kuivinen1-3/+4
The merge strategies can give more descriptive error messages for conflict cases if they are given the actual branch names instead of the SHA1s. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-25[PATCH] recursive-merge: Don't print a stack trace when read-tree fails.Libravatar Fredrik Kuivinen1-3/+9
If the working tree is dirty read-tree will fail, and we don't want an ugly stack trace in that case. Also make sure we don't print stack traces when we use 'die'. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24Diff: --name-status output format.Libravatar Junio C Hamano3-11/+17
The new output format shows only the status letter and paths. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24Diff: -l<num> to limit rename/copy detection.Libravatar Junio C Hamano5-20/+34
When many paths are modified, rename detection takes a lot of time. The new option -l<num> can be used to disable rename detection when more than <num> paths are possibly created as renames. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24Diff clean-up.Libravatar Junio C Hamano11-366/+252
This is a long overdue clean-up to the code for parsing and passing diff options. It also tightens some constness issues. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24Merge branch 'fixes'Libravatar Junio C Hamano2-2/+15
2005-09-24Clean generated files a bit more.Libravatar Junio C Hamano1-2/+2
Now we conditionally compile things in compat/, so we should remove object files there. Python execution can leave *.pyc and *.pyo, which need to be cleaned as well. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24Stop installing the backward compatible symlinks.Libravatar Junio C Hamano2-4/+6
Also cmd-renames.sh can now be used to remove the backward compatible symlinks -- this is not used by default in any way. As discussed on the list with Pasky, git-ssh-push and git-ssh-pull will keep calling each other for a while longer. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24show-branch: fix commit naming breakage.Libravatar Junio C Hamano1-1/+14
It was ignoring the generation number of the commit when naming 2nd and later parents, showing "(linus^n)^2" for any <n> incorrectly as "linus^2". Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24[PATCH] Finish documenting trivial merge rulesLibravatar Daniel Barkalow1-10/+39
Fix missing symbol explanations, a few incorrect cases, and add two-way merge rules. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24git-grep: fix 'git grep -e $pattern' handlingLibravatar Junio C Hamano1-1/+1
People typically say 'grep -e $pattern' because $pattern has a leading dash which would be mistaken as a grep flag. Make sure we pass -e in front of $pattern when we invoke grep. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24Remove use of 'xargs -0' from git-reset.Libravatar Junio C Hamano1-2/+4
Even without the trouble it causes to people without GNU xargs, it was not really necessary to print from Perl and then remove it outside. Just unlink it inside Perl. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24Use 0.99.7.GIT as version between 0.99.7 and 0.99.8Libravatar Junio C Hamano1-1/+1
Pasky taught me how he does his versioning for ELinks. This will sort after 0.99.7 and interim fixes 0.99.7a, and before 0.99.8. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24Solaris: give a bit more built-in defaults.Libravatar Junio C Hamano3-22/+34
Taking the make command line Peter Eriksen uses, give defaults to SHELL_PATH, TAR, CURLDIR, NO_STRCASESTR, and INSTALL. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24[PATCH] CURLDIR in MakefileLibravatar Patrick Mauritz1-1/+11
Support systems that do not install curl headers and libraries in /usr/{include,lib}. Signed-off-by: Patrick Mauritz <oxygene@studentenbude.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24[PATCH] Rename daemon.c's lognotice() to loginfo()Libravatar Petr Baudis1-3/+3
The syslog code logs with severity LOG_INFO in the loginfo() function, so make things less confusing. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24[PATCH] git-daemon --syslog to log through syslogLibravatar Petr Baudis2-8/+32
Well, this makes it even more clear that we need the packet reader and friends to use the daemon logging code. :/ Therefore, we at least indicate in the "Disconnect" log message if the child process exitted with an error code or not. Idea by Linus. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24[PATCH] Update git-daemon documentation wrt. the --verbose parameterLibravatar Petr Baudis1-1/+4
Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24Really ignore generated distribution material.Libravatar Junio C Hamano1-4/+5
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23daemon.c: pid_t is not int.Libravatar Junio C Hamano1-1/+1
Reported by Morten Welinder <mwelinder@gmail.com>. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23Merge 'fixes' branch.Libravatar Junio C Hamano6-39/+49
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23Further clarify licensing status of compat/subprocess.py.Libravatar Junio C Hamano1-20/+4
PSF license explicitly states the files in Python distribution is compatible with GPL, and upstream clarified the licensing terms by shortening its file header. This version is a verbatim copy from release24-maint branch form Python CVS. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23[PATCH] rsh.c unterminated stringLibravatar H. Peter Anvin1-5/+5
The change I made to rsh.c would leave the string unterminated under certain conditions, which unfortunately always applied! This patch fixes this. For some reason this never bit on i386 or ppc, but bit me on x86-64. Fix situation where the buffer was not properly null-terminated. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23[PATCH] git-local-fetch: Avoid confusing error messages on packed repositoriesLibravatar Sergey Vlasov1-5/+12
If the source repository was packed, and git-local-fetch needed to fetch a pack file, it spewed a misleading error message about not being able to find the unpacked object. Fixed by adding the warn_if_not_exists argument to copy_file(), which controls printing of error messages in case the source file does not exist. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23[PATCH] Fix "git-local-fetch -s" with packed source repositoryLibravatar Sergey Vlasov1-3/+11
"git-local-fetch -s" did not work with a packed repository, because symlink() happily created a link to a non-existing object file, therefore fetch_file() always returned success, and fetch_pack() was not called. Fixed by calling stat() before symlink() to ensure the file really exists. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23[PATCH] git-local-fetch: Avoid calling close(-1)Libravatar Sergey Vlasov1-2/+4
After open() failure, copy_file() called close(ifd) with ifd == -1 (harmless, but causes Valgrind noise). The same thing was possible for the destination file descriptor. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23[PATCH] git-local-fetch: Fix error checking and leak in setup_indices()Libravatar Sergey Vlasov1-0/+3
setup_indices() did not check the return value of opendir(), and did not have a corresponding closedir() call. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23[PATCH] fetch.c: Plug memory leak in process_tree()Libravatar Sergey Vlasov1-0/+1
When freeing a tree entry, must free its name too. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23[PATCH] fetch.c: Do not build object ref listsLibravatar Sergey Vlasov1-0/+1
The fetch code does not need object ref lists; by disabling them we can save some time and memory. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23[PATCH] document command to show diff of a commitLibravatar Robert Watson1-1/+4
Document the best way to show the change introduced by a commit, based on the suggestion by Linus on the list. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23Ignore a bit more generated files.Libravatar Junio C Hamano1-0/+4
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-23Merge branch 'fixes'Libravatar Junio C Hamano1-1/+13
2005-09-23Make 'git diff --cached' synonymous to 'git diff --cached HEAD'.Libravatar Junio C Hamano1-1/+13
When making changes to different files (i.e. dirty working tree) and committing logically separate changes in groups, often it is necessary to run 'git diff --cached HEAD' to make sure that the changes being committed makes sense. Saying 'git diff --cached' by mistake gives rather uninformative error message from git-diff-files complaining it does not understand --cached flag. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-22[PATCH] fetch.c: Remove call to parse_object() from process()Libravatar Sergey Vlasov1-1/+0
The call to parse_object() in process() is not actually needed - if the object type is unknown, parse_object() will be called by loop(); if the type is known, the object will be parsed by the appropriate process_*() function. After this change blobs which exist locally are no longer parsed, which gives about 2x CPU usage improvement; the downside is that there will be no warnings for existing corrupted blobs, but detecting such corruption is the job of git-fsck-objects, not the fetch programs. Newly fetched objects are still checked for corruption in http-fetch.c and ssh-fetch.c (local-fetch.c does not seem to do it, but the removed parse_object() call would not be reached for new objects anyway). Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-22[PATCH] fetch.c: Clean up object flag definitionsLibravatar Sergey Vlasov1-3/+3
Remove holes left after deleting flags, and use shifts to emphasize that flags are single bits. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>