summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2005-09-12[PATCH] Make 'git checkout' a bit more forgiving when switching branches.Libravatar Junio C Hamano1-0/+1
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>
2005-09-12[PATCH] Omit patches that have already been merged from format-patch output.Libravatar Junio C Hamano1-11/+27
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>
2005-09-12[PATCH] There are several undocumented dependenciesLibravatar Horst von Brand2-3/+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>
2005-09-12Improve "git grep" flags handlingLibravatar Linus Torvalds1-23/+41
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>
2005-09-12[PATCH] Make the ProgramError class printable.Libravatar Fredrik Kuivinen1-0/+3
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12[PATCH] Make sure we die if we don't get enough arguments.Libravatar Fredrik Kuivinen1-0/+3
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12[PATCH] Introduce a 'die' function.Libravatar Fredrik Kuivinen2-14/+13
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12[PATCH] Exit with status code 2 if we get an exception.Libravatar Fredrik Kuivinen1-7/+12
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12[PATCH] Fix assertion failure when merging common ancestors.Libravatar Fredrik Kuivinen1-1/+1
Bug reported by Junio. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12Allow finding things that begin with a dash in 'git grep'Libravatar Junio C Hamano1-1/+6
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12[PATCH] Add "git grep" helperLibravatar Linus Torvalds2-1/+21
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>
2005-09-12[PATCH] Add note about IANA confirmationLibravatar Linus Torvalds1-0/+11
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>
2005-09-11Use int instead of socklen_tLibravatar Junio C Hamano1-4/+4
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>
2005-09-11[PATCH] Apply N -> A status change in diff-helperLibravatar Herbert Xu1-1/+1
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>
2005-09-11[PATCH] archimport - better handling of temp dirsLibravatar martin@catalyst.net.nz1-5/+5
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>
2005-09-11[PATCH] archimport - use GIT_DIR instead of hardcoded ".git"Libravatar martin@catalyst.net.nz1-20/+22
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>
2005-09-11[PATCH] archimport - update in-script doco, options tidyupLibravatar martin@catalyst.net.nz1-17/+16
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>
2005-09-11[PATCH] archimport documentation tidyupLibravatar martin@catalyst.net.nz1-4/+5
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>
2005-09-11[PATCH] archimport documentation updateLibravatar martin@catalyst.net.nz1-10/+49
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>
2005-09-11[PATCH] Escape asciidoc's built-in em-dash replacementLibravatar Yasushi SHOJI4-12/+12
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>
2005-09-11[PATCH] Fix buffer overflow in ce_flush().Libravatar Qingning Huo1-0/+7
Add a check before appending SHA1 signature to write_buffer, flush it first if necessary. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10Add a new merge strategy by Fredrik Kuivinen.Libravatar Junio C Hamano9-7/+741
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>
2005-09-10'git-merge': Documentation.Libravatar Junio C Hamano2-0/+55
... and add link from git.txt, as usual. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10Use Daniel's read-tree in the merge strategy 'resolve'.Libravatar Junio C Hamano4-39/+88
And rename the one Linus kept calling stupid, 'stupid'. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10Multi-backend merge driver.Libravatar Junio C Hamano5-2/+381
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>
2005-09-10Plug leak in Daniel's read-tree.Libravatar Junio C Hamano1-0/+1
... and it is ready to be pushed out in the "master" branch. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10[PATCH] Add debugging help for case #16 to read-tree.cLibravatar Junio C Hamano2-8/+44
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>
2005-09-10[PATCH] Disable debugging from read-tree.Libravatar Junio C Hamano1-3/+10
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10[PATCH] Document the trivial merge rules for 3(+more ancestors)-way merges.Libravatar Daniel Barkalow1-0/+92
Signed-off-by: Daniel Barkalow Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10[PATCH] Rewrite read-treeLibravatar Daniel Barkalow2-804/+421
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>
2005-09-10[PATCH] Add function to append to an object_list.Libravatar Daniel Barkalow2-0/+14
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10[PATCH] Add a function for getting a struct tree for an ent.Libravatar Daniel Barkalow2-0/+24
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10Fix 'git-show-branch --list <head>'Libravatar Junio C Hamano1-1/+1
It mistakenly failed to output anything when given a single head. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10Add 'git bisect replay/log' documentation.Libravatar Junio C Hamano1-1/+11
... lest I get yelled at by a very angry scm ;-). Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10Keep bisection log so that it can be replayed later.Libravatar Junio C Hamano1-3/+47
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>
2005-09-10Fix copy marking from diffcore-rename.Libravatar Junio C Hamano2-5/+39
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>
2005-09-10[PATCH] archimport - add merge detectionLibravatar martin@catalyst.net.nz1-4/+180
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>
2005-09-10Make sure we have leading directories under refs/{heads,tags}Libravatar Junio C Hamano1-0/+1
Otherwise having subdirectories under refs/heads becomes rather unwieldy. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10[PATCH] Documentation/repository-layout.txt typoLibravatar Sven Verdoolaege1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-09show-branch: --list and --independentLibravatar Junio C Hamano2-17/+73
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>
2005-09-09Retire support for old environment variables.Libravatar Junio C Hamano13-318/+16
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>
2005-09-09Adjust .gitignore for big rename.Libravatar Junio C Hamano1-1/+45
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-09[PATCH] remove duplicate git-send-email-script.perl target in MakefileLibravatar Marco Roeland1-1/+1
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>
2005-09-09[PATCH] fix tutorial typoLibravatar jdl@freescale.com1-1/+1
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>
2005-09-09[PATCH] Fix tutorial reference to git-*-scripts.Libravatar jdl@freescale.com1-5/+5
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>
2005-09-09Ignore datestamp-only changes when installing webdoc.Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-08Squelch `removal' message from 'git reset --hard'.Libravatar Junio C Hamano1-1/+1
We do not say anything about checking out, so mentioning removal only gets unnecessarily alarming. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-08'build' scripts before installing.Libravatar Junio C Hamano5-25/+33
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>
2005-09-08Show all merge-base candidates from show-branch --merge-baseLibravatar Junio C Hamano2-5/+7
This would make things easier to use for Octopus. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07Documentation updates.Libravatar Junio C Hamano4-28/+74
Fill in more missing documentation. Signed-off-by: Junio C Hamano <junkio@cox.net>