aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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>
* Plug leak in Daniel's read-tree.Junio C Hamano2005-09-10
| | | | | | ... and it is ready to be pushed out in the "master" branch. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Add debugging help for case #16 to read-tree.cJunio C Hamano2005-09-10
| | | | | | | | This will help us detect if real-world example merges have multiple merge-base candidates and one of them matches one head while another matches the other head. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Disable debugging from read-tree.Junio C Hamano2005-09-10
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Document the trivial merge rules for 3(+more ancestors)-way merges.Daniel Barkalow2005-09-10
| | | | | Signed-off-by: Daniel Barkalow Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Rewrite read-treeDaniel Barkalow2005-09-10
| | | | | | | Adds support for multiple ancestors, removes --emu23, much simplification. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Add function to append to an object_list.Daniel Barkalow2005-09-10
| | | | | Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Add a function for getting a struct tree for an ent.Daniel Barkalow2005-09-10
| | | | | Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix 'git-show-branch --list <head>'Junio C Hamano2005-09-10
| | | | | | It mistakenly failed to output anything when given a single head. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add 'git bisect replay/log' documentation.Junio C Hamano2005-09-10
| | | | | | ... lest I get yelled at by a very angry scm ;-). Signed-off-by: Junio C Hamano <junkio@cox.net>
* Keep bisection log so that it can be replayed later.Junio C Hamano2005-09-10
| | | | | | | | | The 'git bisect' command was very unforgiving in that once you made a mistake telling it good/bad it was very hard to take it back. Keep a log of what you told it in an earlier session, so that it can be replayed after removing everything after what you botched last time. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix copy marking from diffcore-rename.Junio C Hamano2005-09-10
| | | | | | | | | | | When (A,B) ==> (B,C) rename-copy was detected, we incorrectly said that C was created by copying B. This is because we only check if the path of rename/copy source still exists in the resulting tree to see if the file is renamed out of existence. In this case, the new B is created by copying or renaming A, so the original B is lost and we should say C is a rename of B not a copy of B. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] archimport - add merge detectionmartin@catalyst.net.nz2005-09-10
| | | | | | | | | | | | | | | | | We now keep track of the patches merged in each branch since they have diverged, using the records that the Arch "logs" provide. Merge parents for a commit are defined if we are merging a series of patches that starts from the mergebase. If patches from a related branch are merged out-of-order, we keep track of how much has been merged sequentially -- the tip of that sequential merge is our new parent from that branch. This mechanism works very well for branches that merge in dovetail and/or flying fish patterns, probably less well for others. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Make sure we have leading directories under refs/{heads,tags}Junio C Hamano2005-09-10
| | | | | | | Otherwise having subdirectories under refs/heads becomes rather unwieldy. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Documentation/repository-layout.txt typoSven Verdoolaege2005-09-10
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* show-branch: --list and --independentJunio C Hamano2005-09-09
| | | | | | | | | | The --list option is what 'git branch' without parameter should have been; it shows the one-line commit message for each branch name. The --independent option is used to filter out commits that can be reachable from other commits, to make detection of fast forward condition in multi-head merge easier. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Retire support for old environment variables.Junio C Hamano2005-09-09
| | | | | | | | | | We have deprecated the old environment variable names for quite a while and now it's time to remove them. Gone are: SHA1_FILE_DIRECTORIES AUTHOR_DATE AUTHOR_EMAIL AUTHOR_NAME COMMIT_AUTHOR_EMAIL COMMIT_AUTHOR_NAME SHA1_FILE_DIRECTORY Signed-off-by: Junio C Hamano <junkio@cox.net>
* Adjust .gitignore for big rename.Junio C Hamano2005-09-09
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] remove duplicate git-send-email-script.perl target in MakefileMarco Roeland2005-09-09
| | | | | | | | | | | Remove duplicate git-send-email-perl target in Makefile. When WITH_SEND_EMAIL was defined, as in the Debian 'deb' target, git-send-email-perl was added twice to SCRIPT_PERL, leading to a duplicate definition in the Makefile. Creating a ".deb" then failed. Signed-off-by: Marco Roeland <marco.roeland@xs4all.nl> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] fix tutorial typojdl@freescale.com2005-09-09
| | | | | | | Fix a minor typo in the tutorial.txt. Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Fix tutorial reference to git-*-scripts.jdl@freescale.com2005-09-09
| | | | | | | | There was a lingering reference to the git-*-scripts in the tutorial. This patch reworks that paragraph a bit. Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Ignore datestamp-only changes when installing webdoc.Junio C Hamano2005-09-09
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* Squelch `removal' message from 'git reset --hard'.Junio C Hamano2005-09-08
| | | | | | | We do not say anything about checking out, so mentioning removal only gets unnecessarily alarming. Signed-off-by: Junio C Hamano <junkio@cox.net>
* 'build' scripts before installing.Junio C Hamano2005-09-08
| | | | | | | | | | | | | Earlier we renamed git-foo.sh to git-foo while installing, which was mostly done by inertia than anything else. This however made writing tests to use scripts harder. This patch builds the scripts the same way as we build binaries from their sources. As a side effect, you can now specify non-standard paths you have your Perl binary is in when running the make. Signed-off-by: Junio C Hamano <junkio@cox.net>