aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* [PATCH] Fix several gcc4 signedness warningsMika Kukkonen2005-06-21
| | | | | | | | | Here is a patch that fixes several gcc4 warnings about different signedness, all between char and unsigned char. I tried to keep the patch minimal so resertod to casts in three places. Signed-off-by: Mika Kukkonen <mikukkon@iki.fi> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* git checkout: fix default head caseLinus Torvalds2005-06-21
| | | | | The "${new=$old}" syntax only works for an undefined 'new', not for an empty one. I knew that. Really. I'm not stupid.
* Make "git checkout" know about different branchesLinus Torvalds2005-06-21
| | | | | Now "git checkout xyzzy" will check out branch "xyzzy" and switch the HEAD to it.
* "git checkout": add "-u" flag to update HEAD conditionallyLinus Torvalds2005-06-21
| | | | And fix braino on testing "-f".
* Add "git checkout" that does what the name suggestsLinus Torvalds2005-06-21
| | | | | | | | It is careful by default and refuses to overwrite old info, but if you want to force everything to be re-read, use the "-f" flag. Some day I'll make it take individual filenames too. Right now it's all-or-nothing.
* [PATCH] fix scalability problems with git-deltafy-scriptNicolas Pitre2005-06-21
| | | | | | | | | | | | | | Current version would spin forever and exhaust memory while attempting to sort all files from all revisions at once, until it dies before even doing any real work. This is especially noticeable when used on a big repository like the imported bkcvs repo for the Linux kernel. This patch allows for batching the sort to put a bound on needed resources and making progress early, as well as including some small cleanups. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] git-apply: Don't barf when --stat'ing a diff with no line changes.Sven Verdoolaege2005-06-21
| | | | | | | | | Diffs with only mode changes didn't pass through git-apply --stat. [ Linus' note: they did for me, on my ppc64, where division by zero just silently returns zero. Duh. ] Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Let "git commit" take arguments for files to commit.Linus Torvalds2005-06-20
| | | | | | | | | | It does a "git-update-cache" on the arguments, meaning that you can commit files without doing a separate "git-update-cache". This commit was done with git commit git-commit-script for example.
* Add "-q" flag to git-update-cacheLinus Torvalds2005-06-20
| | | | | | | It suppresses the "needs update" message for subsequent "--refresh" cases (but not other errors). Will be useful for "git commit". Stay tuned.
* Change parent syntax to "xyz^" instead of "xyz.p"Linus Torvalds2005-06-20
| | | | | | The ".pN" thing might be a common ending of a tag, and in contrast, ^ already is a special character for revisions so use that instead.
* Make rev-parse understand "extended sha1" syntaxLinus Torvalds2005-06-20
| | | | | | | | | You can say "HEAD.p" for the "parent of HEAD". It nests, so HEAD.p2.p means parent of second parent of HEAD (which obviously depends on HEAD being a merge).
* Keep the parents in order when parsing commitsLinus Torvalds2005-06-20
| | | | | We used to keep the parents in reverse order in the commit_list. Most users don't care, but it's wrong, and the next commit does care.
* git-rev-parse: flush "default" head when encountering something unexpectedLinus Torvalds2005-06-20
| | | | | The unexpected thing is likely a pathname, we need the default for that too.
* [PATCH] git-resolve-script: Add LAST_MERGE and use git-rev-parseDan Holmsand2005-06-20
| | | | | | | | | | | Make git-resolve-script only write MERGE_HEAD if a merge actually occurred. All merge failures leave ORIG_HEAD and LAST_MERGE behind (instead of ORIG_HEAD and MERGE_HEAD). Use git-rev-parse to expand arguments (and check for bad ones). Signed-off-by: Dan Holmsand <holmsand@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* git-rev-parse: parse ".." before simple SHA1'sLinus Torvalds2005-06-20
| | | | | This fixes "<hexsha1>..*", since get_sha1() will happily ignore any garbage at the end and thus we never got to the ".." check before.
* Avoid gcc warning in diff-stages.cLinus Torvalds2005-06-19
| | | | Put explicit parentheses around && in ||-expression.
* [PATCH] Fix for --merge-order, --max-age interaction issueJon Seymour2005-06-19
| | | | | | | | | | | | | | | | | | | This patch fixes a problem reported by Paul Mackerras regarding the interaction of the --merge-order and --max-age switches of git-rev-list. This patch applies to the current Linus HEAD. A cleaner fix for the same problem in my current HEAD will follow later. With this change, --merge-order produces the same result as no --merge-order on the linux-2.6 git repository, to wit: $> git-rev-list --max-age=1116330140 bcfff0b471a60df350338bcd727fc9b8a6aa54b2 | wc -l 655 $> git-rev-list --merge-order --max-age=1116330140 bcfff0b471a60df350338bcd727fc9b8a6aa54b2 | wc -l 655 Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Prevent git-rev-list without --merge-order producing duplicates in ↵Jon Seymour2005-06-19
| | | | | | | | | | | | | | | | output If b is reachable from a, then: git-rev-list a b argument would print one of the commits twice. This patch fixes that problem. A previous problem fixed it for the --merge-order switch. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Prevent git-rev-list --merge-order producing duplicates in the outputJon Seymour2005-06-19
| | | | | | | | | | | | | | If a is reachable from b, then git-rev-list --merge-order b a would produce a duplicate output of b. This causes a problem for an upcoming version of gitk since it breaks the --merge-order ordering invariant. This patch fixes the problem for the --merge-order switch. A subsequent patch will fix the problem for the non --merge-order switch. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Relaxes error checking in epoch.c to allow duplicate parentsJon Seymour2005-06-19
| | | | | | | | | Given that real trees in the wild include parents with duplicate parents, I have relaxed over-zealous error checking in epoch.c and dealt with the problem a different way - duplicate parents are now silently ignored. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Fixes problem with --merge-order head ^headJon Seymour2005-06-19
| | | | | | | | | git-rev-list --merge-order HEAD ^HEAD was faulting rather than generating an empty output. This patch fixes that problem. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Tweaked --merge-order --show-breaks output in case specified head ↵Jon Seymour2005-06-19
| | | | | | | | | | | | | | | | | | | has no parent git-rev-list --merge-order --show-breaks root Was outputing: | root It now outputs: = root Which is consistent with the behaviour of other cases. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Additional git-rev-list unit tests to demonstrate problems that ↵Jon Seymour2005-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | require fixes 1. --merge-order doesn't deal properly with a specified head that has no parent * FAIL 11: head has no parent 2. --merge-order doesn't deal properly with arguments of the form head ^head * FAIL 30: head ^head --merge-order git-rev-list --merge-order --show-breaks a3 ^a3 3. if one of the specified heads is reachable from the other, the head gets printed twice and this causes problems for upcoming versions of gitk. This is true for both --merge-order and non --merge-order style of invocations. * FAIL 24: one specified head reachable from another a4, c3, --merge-order * FAIL 26: one specified head reachable from another a4, c3, no --merge-order * FAIL 27: one specified head reachable from another c3, a4, no --merge-order 4. --merge-order aborts with commits that list the same parent twice...it should handle it more gracefully. * no longer unit testable 5. broken interaction between --merge-order and --max-age previously posted as: "[PATCH 1/2] Test case that demonstrates problem with --merge-order, --max-age interaction" * FAIL 23: --max-age=c3, --merge-order Later patches in this patch set fix these problems. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Rework -B output.Junio C Hamano2005-06-19
| | | | | | | | | | | | | | | | Patch for a completely rewritten file detected by the -B flag was shown as a pair of creation followed by deletion in earlier versions. This was an misguided attempt to make reviewing such a complete rewrite easier, and unnecessarily ended up confusing git-apply. Instead, show the entire contents of old version prefixed with '-', followed by the entire contents of new version prefixed with '+'. This gives the same easy-to-review for human consumer while keeping it a single, regular modification patch for machine consumption, something that even GNU patch can grok. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Update diff documentation.Junio C Hamano2005-06-19
| | | | | | | | | This updates diff documentation to discuss --find-copies-harder, and adds descriptions for options that were not described earlier. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Make -C less eager.Junio C Hamano2005-06-19
| | | | | | | | | | | | | | | Like diff-tree, this patch makes -C option for diff-* brothers to use only pre-image of modified files as rename/copy detection by default. Give --find-copies-harder to use unmodified files to find copies from as well. This also fixes "diff-files -C" problem earlier noticed by Linus. It was feeding the null sha1 even when the file in the work tree was known to match what is in the index file. This resulted in diff-files showing everything in the project. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Make "git commit" clean up after itselfLinus Torvalds2005-06-19
| | | | Noted by Jeff.
* Clean up MERGE_HEAD and ORIG_HEAD also for the trivial fast-forward merges.Linus Torvalds2005-06-19
| | | | Otherwise you'll be bitten by a stale MERGE_HEAD like Jeff was..
* [PATCH] cvs2git.c: support incremental conversionPanagiotis Issaris2005-06-19
| | | | | | | | | | | | | | | | Add -u option to indicate incremental conversion. I wanted to be able to track CVS repositories in a GIT repository. The cvs2git program worked fine with the initial import but needed a tiny modification to enable me to resync the GIT repository with the updated CVS tree. [ The original version of this patch failed to track the correct branch on the first new commit. Fixed and tested by Sven. ] Signed-off-by: Panagiotis Issaris <takis@lumumba.luc.ac.be> Signed-off-by: Sven Verdoolaege <skimo@kotnet.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ssh-push.c: Fix handling of ssh://host/path URLsSven Verdoolaege2005-06-19
| | | | | | | | Previous patch to fix host:path notation broke handling of ssh://host/path notation. Signed-off-by: Sven Verdoolaege <skimo@liacs.nl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* git-commit-tree: ignore duplicate parentsLinus Torvalds2005-06-19
| | | | | | | | | | | | | 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.
* Fix up INSTALL and "git add"Linus Torvalds2005-06-18
| | | | As suggested by Junio
* read-cache.c: remove stray debugging printfLinus Torvalds2005-06-18
| | | | | Pointed out by Junio, part of my debugging of the rewrite of the file/dir conflict handling.
* Re-implement "check_file_directory_conflict()"Linus Torvalds2005-06-18
| | | | | | | | | | | | This is (imho) more readable, and is also a lot faster. The expense of looking up sub-directory beginnings was killing us on things like "git-diff-cache", even though that one didn't even care at all about the file vs directory conflicts. We really only care when somebody tries to add a conflicting name to stage 0. We should go through the conflict rules more carefully some day.
* Avoid warning about function without return.Linus Torvalds2005-06-18
| | | | | Strangely, this warning only shows up when not compiling with "-O2", which is why I didn't see it originally.
* [PATCH] cvs2git and file permissionsSven Verdoolaege2005-06-18
| | | | | | | | | | git-cvs2git: propagate mode information Let cvs checkout in a temporary directory rather than using the pipe option to avoid loss of mode information. Signed-off-by: Sven Verdoolaege <skimo@liacs.nl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Make "pretty" commit logs always show merge informationLinus Torvalds2005-06-18
| | | | | | | | Otherwise the "git log" information doesn't tell enough to make sense of a merge. I'll need to add some parent information for regular entries too, I think, but the merge is more important.
* git-rev-list: add "--bisect" flag to find the "halfway" pointLinus Torvalds2005-06-17
| | | | | | | | | | | | | | | | | | | | | | This is useful for doing binary searching for problems. You start with a known good and known bad point, and you then test the "halfway" point in between: git-rev-list --bisect bad ^good and you test that. If that one tests good, you now still have a known bad case, but two known good points, and you can bisect again: git-rev-list --bisect bad ^good1 ^good2 and test that point. If that point is bad, you now use that as your known-bad starting point: git-rev-list --bisect newbad ^good1 ^good2 and basically at every iteration you shrink your list of commits by half: you're binary searching for the point where the troubles started, even though there isn't a nice linear ordering.
* Use "-M" instead of "-C" for "git diff" and "git status"Linus Torvalds2005-06-17
| | | | | | | The "C" in "-C" may stand for "Cool", but it's also pretty slow, since right now it leaves all unmodified files to be tested even if there are no new files at all. That just ends up being unacceptably slow for big projects, especially if it's not all in the cache.
* git-apply: use default name for mode change patchesLinus Torvalds2005-06-17
| | | | | | Pure mode changes won't have the file-name in the extended header lines, so make sure we pick it up from the default name from the "diff --git" line.
* Don't use -C in "git diff"Linus Torvalds2005-06-17
| | | | | Right now it confuses at least git-diff-files, since it leaves all the files (whether changed or not) in the diff queue.
* Add some installation notes in INSTALLLinus Torvalds2005-06-17
| | | | | | Jens was the second person who hadn't heard of the "merge" program, and didn't have it installed. So document as many dependency and install issues as I can think of.
* git-read-tree: fix "--reset" handlingLinus Torvalds2005-06-15
|
* Update tutorial a bit for scripted helpers.Linus Torvalds2005-06-14
|
* Trivial git script fixupsLinus Torvalds2005-06-14
| | | | | | | Fix permissions, and add trivial "reset" and "add" scripts. The "reset" script just resets the index back to head, while the "add" script is just a crutch for people used to do "cvs add".
* [PATCH] ssh-push: Don't add '/' to pathnameSven Verdoolaege2005-06-14
| | | | | | | | | Paths in the host:path notation are usually interpreted relative to the login directory rather than relative to the root directory. Signed-off-by: Sven Verdoolaege <skimo@liacs.nl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Unset TZ in t5000Mark Allen2005-06-14
| | | | | | | | | Unset TZ to force GMT in test #4 and add a set of parens around the length function in the awk script. Signed-off-by: Mark Allen <mrallen1@yahoo.com> Acked-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Make 'git' script be a bit more helpful on unrecognized commandsLinus Torvalds2005-06-14
|
* Make "git commit" handle initial commits tooLinus Torvalds2005-06-14
| | | | No need to confuse ex-CVS users with a complex initial commit sequence.
* git-apply: normalize file mode when comparing with expected valueLinus Torvalds2005-06-13
| | | | | Sine git only saves the 'x' bit, we shouldn't compare the stat contents directly.