aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* [PATCH] rsh.c env and quoting cleanup, take 2H. Peter Anvin2005-09-15
| | | | | | | | | | | | | | | | | | | This patch does proper quoting, and uses "env" to be compatible with tcsh. As a side benefit, I believe the code is a lot cleaner to read. [jc: I am accepting this not because I necessarily agree with the quoting approach taken by it, but because (1) the code is only used by ssh-fetch/ssh-upload pair which I do not care much about (if you have ssh account on the remote end you should be using git-send-pack git-fetch-pack pair over ssh anyway), and (2) HPA is one of the more important customers belonging to the Linux kernel community and I want to help his workflow -- which includes not wasting his time by asking him to switch to git-send-pack/git-fetch-pack pair, nor to use a better shell ;-). I might not have taken this patch if it mucked with git_connect in connect.c in its current form.] Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Fix fetch completeness assumptionsDaniel Barkalow2005-09-15
| | | | | | | | Don't assume that any commit we have is complete; assume that any ref we have is complete. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Document git-fetch optionsSergey Vlasov2005-09-15
| | | | | | Add documentation for git-fetch options Signed-off-by: Junio C Hamano <junkio@cox.net>
* Unoptimize info/refs creation.Junio C Hamano2005-09-15
| | | | | | | | The code did not catch the case where you removed an existing ref without changing anything else. We are not talking about hundreds of refs anyway, so remove that optimization. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Retire info/rev-cacheJunio C Hamano2005-09-15
| | | | | | | It was one of those things that were well intentioned but did not turn out to be useful in practice. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Use '-d' as the first flag to 'install'Peter Eriksen2005-09-15
| | | | | | | | | ... in order to please Solaris 'install'. GNU install is not harmed with this. [jc: Documentation/Makefile also fixed.] Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] git-http-fetch: Allow caching of retrieved objects by proxy serversSergey Vlasov2005-09-15
| | | | | | | | | | | | | | | By default the curl library adds "Pragma: no-cache" header to all requests, which disables caching by proxy servers. However, most files in a GIT repository are immutable, and caching them is safe and could be useful. This patch removes the "Pragma: no-cache" header from requests for all files except the pack list (objects/info/packs) and references (refs/*), which are really mutable and should not be cached. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net> (cherry picked from 3b2a4c46fd5093ec79fb60e1b14b8d4a58c74612 commit)
* git-branch -d <branch>: delete unused branch.Junio C Hamano2005-09-15
| | | | | | | | | | The new flag '-d' lets you delete a branch. For safety, it does not lets you delete the branch you are currently on, nor a branch that has been fully merged into your current branch. The credit for the safety check idea goes to Daniel Barkalow. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Revert "[PATCH] plug memory leak in diff.c::diff_free_filepair()"Junio C Hamano2005-09-14
| | | | This reverts 068eac91ce04b9aca163acb1927c3878c45d1a07 commit.
* [PATCH] Fix alloc_filespec() initializationLinus Torvalds2005-09-14
| | | | | | | | | | This simplifies and fixes the initialization of a "diff_filespec" when allocated. The old code would not initialize "sha1_valid". Noticed by valgrind. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Make merge comment git-pull makes for an octopus a bit prettier.Junio C Hamano2005-09-13
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* read-tree: fix bogus debugging statement.Junio C Hamano2005-09-13
| | | | | | | We wanted to detect case #16 which should be rare, but botched the case when some paths are missing, causing a segfault. My fault. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-merge-recursive: Trivial RE fixes.Junio C Hamano2005-09-13
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Use the 'die' function where it is appropriate.Fredrik Kuivinen2005-09-13
| | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Use a temporary index file when we merge the common ancestors.Fredrik Kuivinen2005-09-13
| | | | | | | | With this change we can get rid of a call to 'git-update-index --refresh'. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Adjust git-merge-recursive.py for the new tool names.Fredrik Kuivinen2005-09-13
| | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Don't output 'Automatic merge failed, ...'Fredrik Kuivinen2005-09-13
| | | | | | | git-merge.sh does this for us. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Be more like the 'resolve' strategy.Fredrik Kuivinen2005-09-13
| | | | | | | | | | | If there are non-mergeable changes leave the head contents in the cache and update the working directory with the output from merge(1). In the add/add and delete/modify conflict cases leave unmerged cache entries in the index. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Define relative .git/objects/info/alternates semantics.Junio C Hamano2005-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | An entry in the alternates file can name a directory relative to the object store it describes. A typical linux-2.6 maintainer repository would have "../../../torvalds/linux-2.6.git/objects" there, because the subsystem maintainer object store would live in /pub/scm/linux/kernel/git/$u/$system.git/objects/ and the object store of Linus tree is in /pub/scm/linux/kernel/git/torvalds/linux-2.6.git/objects/ This unfortunately is different from GIT_ALTERNATE_OBJECT_DIRECTORIES which is relative to the cwd of the running process, but there is no way to make it consistent with the behaviour of the environment variable. The process typically is run in $system.git/ directory for a naked repository, or one level up for a repository with a working tree, so we just define it to be relative to the objects/ directory to be different from either ;-). Later, the dumb transport could be updated to read from info/alternates and make requests for the repository the repository borrows from. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Detect ls-remote failure properly.Junio C Hamano2005-09-13
| | | | | | | The part that can fail is before the pipe, so we need to propagate the error properly to the main process. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Rename the 'fredrik' merge strategy to 'recursive'.Fredrik Kuivinen2005-09-13
| | | | | | | | Otherwise we would regret when Fredrik comes up with another merge algorithm with different pros-and-cons with the current one. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix off-by-one error in git-mergeJunio C Hamano2005-09-12
| | | | | | | 'git-merge -s' without a strategy name does not fail and does not give usage as it should. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Propagate errors from fetch-pack correctly to git-fetch.Junio C Hamano2005-09-12
| | | | | | | When git-fetch-pack fails, the command does not notice the failure and instead pretended nothing was fetched and there was nothing wrong. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix CDPATH problem.Junio C Hamano2005-09-12
| | | | | | | | | | | | | | | | | | | CDPATH has two problems: * It takes scripts to unexpected places (somebody had CDPATH=..:../..:$HOME and the "cd" in git-clone.sh:get_repo_base took him to $HOME/.git when he said "clone foo bar" to clone a repository in "foo" which had "foo/.git"). CDPATH mechanism does not implicitly give "." at the beginning of CDPATH, which is the most irritating part. * The extra echo when it does its thing confuses scripts further. Most of our scripts that use "cd" includes git-sh-setup so the problem is primarily fixed there. git-clone starts without a repository, and it needs its own fix. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Document git-grep and link it from the main git(7) page.Junio C Hamano2005-09-12
| | | | | | Also adjust missing description in the git.txt page while we are at it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Make 'git checkout' a bit more forgiving when switching branches.Junio C Hamano2005-09-12
| | | | | | | | | | | | | | | | | | If you make a commit on a path, and then make the path cache-dirty afterwards without changing its contents, 'git checkout' to switch to another branch is prevented because switching the branches done with 'read-tree -m -u $current $next' detects that the path is cache-dirty, but it does not bother noticing that the contents of the path has not been actualy changed. Since switching branches would involve checking out paths different in the two branches, hence it is reasonably expensive operation, we can afford to run update-index before running read-tree to reduce this kind of false change from triggering the check needlessly. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Omit patches that have already been merged from format-patch output.Junio C Hamano2005-09-12
| | | | | | | | This switches the logic to pick which commits to include in the output from git-rev-list to git-cherry; as a side effect, 'format-patch ^up mine' would stop working although up..mine would continue to work. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] There are several undocumented dependenciesHorst von Brand2005-09-12
| | | | | | | | | | | | | | | | | | | | There are several undocumented dependencies in the .spec and in the INSTALL files. The following is from Fedora, perhaps other RPM distributions call the packages differently. Also, the manpages aren't always installed gzipped. Updates to git-core.spec.in file: - Some git scripts use Perl - gitk needs wish, which is part of TCL/Tk. - curl is used all over - Need the ssh program from openssh-clients Updates to INSTALL: - Mention wish - Mention ssh Signed-off-by: Horst H. von Brand <vonbrand@inf.utfsm.cl>
* Improve "git grep" flags handlingLinus Torvalds2005-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows any arbitrary flags to "grep", and knows about the few special grep flags that take an argument too. It also allows some flags for git-ls-files, although their usefulness is questionable. With this, something line git grep -w -1 pattern works, without the script enumerating every possible flag. [jc: this is the version Linus sent out after I showed him a barf-o-meter test version that avoids shell arrays. He must have typed this version blindly, since he said: I'm not barfing, but that's probably because my brain just shut down and is desperately trying to gouge my eyes out with a spoon. I slightly fixed it to catch the remaining arguments meant to be given git-ls-files.] Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Make the ProgramError class printable.Fredrik Kuivinen2005-09-12
| | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Make sure we die if we don't get enough arguments.Fredrik Kuivinen2005-09-12
| | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Introduce a 'die' function.Fredrik Kuivinen2005-09-12
| | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Exit with status code 2 if we get an exception.Fredrik Kuivinen2005-09-12
| | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Fix assertion failure when merging common ancestors.Fredrik Kuivinen2005-09-12
| | | | | | | Bug reported by Junio. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Allow finding things that begin with a dash in 'git grep'Junio C Hamano2005-09-12
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Add "git grep" helperLinus Torvalds2005-09-12
| | | | | | | | | | | | | | | | | | | | | | Very convenient shorthand for git-ls-files [file-patterns] | xargs grep <pattern> which I tend to do all the time. Yes, it's trivial, but it's really nice. I can do git grep '\<some_variable\>' arch/i386 include/asm-i386 and it does exactly what you'd think it does. And since it just uses the normal git-ls-files file patterns, you can do things like git grep something 'include/*.h' and it will search all header files under the include/ subdirectory. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Add note about IANA confirmationLinus Torvalds2005-09-12
| | | | | | | | | The git port (9418) is officially listed by IANA now. So document it. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Use int instead of socklen_tJunio C Hamano2005-09-11
| | | | | | | | | | | | | | This should work around the compilation problem Johannes Schindelin and others had on Mac OS/X. Quoting Linus: Any operating system where socklen_t is anything else than "int" is terminally broken. The people who introduced that typedef were confused, and I actually had to argue with them that it was fundamentally wrong: there is no other valid type than "int" that makes sense for it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Apply N -> A status change in diff-helperHerbert Xu2005-09-11
| | | | | | | | | | | When the git diff status 'N' was changed to 'A', diff-helper.c was not updated accordingly. This means that it no longer shows the diff for newly added files. This patch makes that change in diff-helper.c. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] archimport - better handling of temp dirsmartin@catalyst.net.nz2005-09-11
| | | | | | | | | Switched from backwards hard-coded tmp directory creation to using File::Temp::tempdir() to create the directory inside $TMP_PATH or what the user has provided via the -t parameter. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] archimport - use GIT_DIR instead of hardcoded ".git"martin@catalyst.net.nz2005-09-11
| | | | | | | Use GIT_DIR from the environment instead of a hardcoded '.git' string. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] archimport - update in-script doco, options tidyupmartin@catalyst.net.nz2005-09-11
| | | | | | | | | | | | | Updated the usage/help message to match asciidoc documentation. The perldoc documentation now includes the first paragraph from the asciidoc documentation and points users to the manpage. Updated TODO section. Removed some redundant options from the getopt() invocation. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] archimport documentation tidyupmartin@catalyst.net.nz2005-09-11
| | | | | | | New "merges" headline, clarified some parts that were not easy to understand. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] archimport documentation updatemartin@catalyst.net.nz2005-09-11
| | | | | | | | Updated and expanded the command description, and added a reference of the command line options. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Escape asciidoc's built-in em-dash replacementYasushi SHOJI2005-09-11
| | | | | | | | | | | | | AsciiDoc replace '--' with em-dash (&#8212) by default. em-dash looks a lot like a single long dash and it's very confusing when we are talking about command options. Section 21.2.8 'Replacements' of AsciiDoc's User Guide says that a backslash in front of double dash prevent the replacement. This patch does just that. Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Fix buffer overflow in ce_flush().Qingning Huo2005-09-11
| | | | | | | Add a check before appending SHA1 signature to write_buffer, flush it first if necessary. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add a new merge strategy by Fredrik Kuivinen.Junio C Hamano2005-09-10
| | | | | | | | | | | I really wanted to try this out, instead of asking for an adjustment to the 'git merge' driver and waiting. For now the new strategy is called 'fredrik' and not in the list of default strategies to be tried. The script wants Python 2.4 so this commit also adjusts Debian and RPM build procecure files. Signed-off-by: Junio C Hamano <junkio@cox.net>
* 'git-merge': Documentation.Junio C Hamano2005-09-10
| | | | | | ... and add link from git.txt, as usual. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Use Daniel's read-tree in the merge strategy 'resolve'.Junio C Hamano2005-09-10
| | | | | | And rename the one Linus kept calling stupid, 'stupid'. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Multi-backend merge driver.Junio C Hamano2005-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new command 'git merge' takes the current head and one or more remote heads, with the commit log message for the automated case. If the heads being merged are simple fast-forwards, it acts the same way as the current 'git resolve'. Otherwise, it tries different merge strategies and takes the result from the one that succeeded auto-merging, if there is any. If no merge strategy succeeds auto-merging, their results are evaluated for number of paths needed for hand resolving, and the one with the least number of such paths is left in the working tree. The user is asked to resolve them by hand and make a commit manually. The calling convention from the 'git merge' driver to merge strategy programs is very simple: - A strategy program is to be called 'git-merge-<strategy>'. - They take input of this form: <common1> <common2> ... '--' <head> <remote1> <remote2>... That is, one or more the common ancestors, double dash, the current head, and one or more remote heads being merged into the current branch. - Before a strategy program is called, the working tree is matched to the current <head>. - The strategy program exits with status code 0 when it successfully auto-merges the given heads. It should do update-cache for all the merged paths when it does so -- the index file will be used to record the merge result as a commit by the driver. - The strategy program exits with status code 1 when it leaves conflicts behind. It should do update-cache for all the merged paths that it successfully auto-merged, and leave the cache entry in the index file as the same as <head> for paths it could not auto-merge, and leave its best-effort result with conflict markers in the working tree when it does so. - The strategy program exists with status code other than 0 or 1 if it does not handle the given merge at all. As examples, this commit comes with merge strategies based on 'git resolve' and 'git octopus'. Signed-off-by: Junio C Hamano <junkio@cox.net>