summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* git-rerere: reuse recorded resolve.Junio C Hamano2006-02-068-2/+408
| | | | | | | | | | | | | | | In a workflow that employs relatively long lived topic branches, the developer sometimes needs to resolve the same conflict over and over again until the topic branches are done (either merged to the "release" branch, or sent out and accepted upstream). This commit introduces a new command, "git rerere", to help this process by recording the conflicted automerge results and corresponding hand-resolve results on the initial manual merge, and later by noticing the same conflicted automerge and applying the previously recorded hand resolution using three-way merge. Signed-off-by: Junio C Hamano <junkio@cox.net>
* fmt-merge-msg: show summary of what is merged.Junio C Hamano2006-02-061-2/+77
| | | | | | | | | | | | In addition to the branch names, populate the log message with one-line description from actual commits that are being merged. This was prompted by Len's 12-way octopus. You need to have 'merge.summary' in the configuration file to enable it: $ git repo-config merge.summary yes Signed-off-by: Junio C Hamano <junkio@cox.net>
* read-tree --aggressiveJunio C Hamano2006-02-063-2/+34
| | | | | | | | | | | A new flag --aggressive resolves what we traditionally resolved with external git-merge-one-file inside index while read-tree 3-way merge works. git-merge-octopus and git-merge-resolve use this flag before running git-merge-index with git-merge-one-file. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] mailinfo: reset CTE after each multipartJunio C Hamano2006-02-061-0/+3
| | | | | | | | | If the first part uses quoted-printable to protect iso8859-1 name in the commit log, and the second part was plain ascii text patchfile without even Content-Transfer-Encoding subheader, we incorrectly tried to decode the patch as quoted printable. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Docs: minor git-push copyeditingJ. Bruce Fields2006-02-061-3/+3
| | | | | | | Minor git-push copyediting Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Docs: move git url and remotes text to separate sectionsJ. Bruce Fields2006-02-065-19/+26
| | | | | | | | | The sections on git urls and remotes files in the git-fetch, git-pull, and git-push manpages seem long enough to be worth a manpage section of their own. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Docs: split up pull-fetch-param.txtJ. Bruce Fields2006-02-063-81/+94
| | | | | | | | | | | | | | | | The push and pull man pages include a bunch of shared text from pull-fetch-param.txt. This simplifies maintenance somewhat, but there's actually quite a bit of text that applies only to one or the other. So, separate out the push- and pull/fetch-specific text into pull-fetch-param.txt and git-push.txt, then include the largest chunk of common stuff (the description of protocols and url's) from urls.txt. That cuts some irrelevant stuff from the man pages without making us duplicate too much. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
* combine-diff: do not punt on removed or added files.Junio C Hamano2006-02-061-10/+14
| | | | | | | | | | When we remove a file, the parents' contents are all removed so it is not that interesting to show all of them, but the fact it was removed when all parents had it *is* unusual. When we add a file, similarly the fact it was added when no parent wanted it *is* unusual, and in addition the result matters, so show it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* combine-diff: show mode changes as well.Junio C Hamano2006-02-063-15/+48
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* combine-diff: do not send NULL to printfJunio C Hamano2006-02-061-6/+17
| | | | | | | When we run combined diff from working tree (diff-files --cc), we sent NULL to printf that is returned by find_unique_abbrev(). Signed-off-by: Junio C Hamano <junkio@cox.net>
* core-tutorial: adjust to recent reality.Junio C Hamano2006-02-061-22/+19
| | | | | | | | | | We still talked about HEAD symlinks but these days we use symrefs by default. Also 'failed/prevented' message is now gone from the merge output. Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-diff: do not fall back on --cc when -[123], --ours etc. are given.Junio C Hamano2006-02-061-4/+13
| | | | | | | | These flags ask diff with a specific unmerged stage, so it should fall back on -p instead. Also when -c is given, we should not do --cc. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'jc/diff'Junio C Hamano2006-02-054-38/+46
|\ | | | | | | | | | | * jc/diff: git-diff-tree --stdin: show all parents. combine-diff: remove misguided --show-empty hack.
| * git-diff-tree --stdin: show all parents.Junio C Hamano2006-02-051-26/+39
| | | | | | | | | | | | | | | | | | git-diff-tree --stdin ignored second and subsequent parents when fed git-rev-list --parents output. Update diff_tree_commit() function to take a commit object, and pass a fabricated commit object after grafting the fake parents from diff_tree_stdin(). Signed-off-by: Junio C Hamano <junkio@cox.net>
| * combine-diff: remove misguided --show-empty hack.Junio C Hamano2006-02-054-12/+7
| | | | | | | | | | | | | | Now --always flag is available in diff-tree, there is no reason to have that hack in the diffcore side. Signed-off-by: Junio C Hamano <junkio@cox.net>
| |
| \
*-. \ Merge branches 'lt/show' and 'lt/revlist'Junio C Hamano2006-02-054-12/+28
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lt/show: git-show * lt/revlist: rev-parse lstat() workaround cleanup.
| | * | rev-parse lstat() workaround cleanup.Linus Torvalds2006-02-051-7/+9
| | |/ | | | | | | | | | | | | | | | | | | | | | Earlier we had a workaround to avoid misspelled revision name to be taken as a filename when "--no-revs --no-flags" are in effect. This cleans up the logic. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | git-showJunio C Hamano2006-02-053-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is essentially 'git whatchanged -n1 --always --cc "$@"'. Just like whatchanged takes default flags from whatchanged.difftree configuration, this uses show.difftree configuration. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | |
| \ \
*-. \ \ Merge branches 'jc/daemon' and 'mw/http'Junio C Hamano2006-02-054-17/+90
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/daemon: daemon: extend user-relative path notation. daemon: Set SO_REUSEADDR on listening sockets. daemon: do not forbid user relative paths unconditionally under --base-path * mw/http: http-fetch: Tidy control flow in process_alternate_response http: Turn on verbose Curl messages if GIT_CURL_VERBOSE set in environment http-fetch: Fix message reporting rename of object file. http-fetch: Fix object list corruption in fill_active_slots().
| | * | http-fetch: Tidy control flow in process_alternate_responseMark Wooding2006-02-051-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's a bit convoluted. Tidy it up. Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * | http: Turn on verbose Curl messages if GIT_CURL_VERBOSE set in environmentMark Wooding2006-02-051-0/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * | http-fetch: Fix message reporting rename of object file.Mark Wooding2006-02-051-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | move_temp_to_file returns 0 or -1. This is not a good thing to pass to strerror(3). Fortunately, someone already reported the error, so don't worry too much. Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * | http-fetch: Fix object list corruption in fill_active_slots().Mark Wooding2006-02-051-1/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In fill_active_slots() -- if we find an object which has already arrived, say as part of a pack, /don't/ remove it from the list. It's already been prefetched and someone will ask for it later. Just label it as done and carry blithely on. (As it was, the code would dereference a freed object to continue through the list anyway.) Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | daemon: extend user-relative path notation.Junio C Hamano2006-02-052-10/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Earlier, we made --base-path to automatically forbid user-relative paths, which was probably a mistake. This introduces --user-path (or --user-path=path) option to control the use of user-relative paths independently. The latter form of the option can be used to restrict accesses to a part of each user's home directory, similar to "public_html" some webservers supports. If we're invoked with --user-path=FOO option, then a URL of the form git://~USER/PATH/... resolves to the path HOME/FOO/PATH/..., where HOME is USER's home directory. [jc: This is much reworked by me so bugs are mine, but the original patch was done by Mark Wooding.] Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | daemon: Set SO_REUSEADDR on listening sockets.Mark Wooding2006-02-051-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, you can silently lose the ability to receive IPv4 connections if you stop and restart the daemon. [jc: tweaked code organization a bit and made this controllable from a command line option.] Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | daemon: do not forbid user relative paths unconditionally under --base-pathJunio C Hamano2006-02-051-4/+8
| |/ | | | | | | | | | | | | | | Using base-path to relocate the server public space does not have anything to do with allowing or forbidding user relative paths. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-send-email: Fully implement --quiet and document it.Ryan Anderson2006-02-052-26/+37
|/ | | | | | | Also reorganizes the man page to list options alphabetically. Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-diff: use --cc instead of -p.Junio C Hamano2006-02-051-2/+2
| | | | | | | The --cc output is much nicer when dealing with merges, so use it by default. Signed-off-by: Junio C Hamano <junkio@cox.net>
* diff-index: make --cc a synonym for -p for now.Junio C Hamano2006-02-051-0/+8
| | | | | | | | It could be made later to show unmerged state nicer than the default as we did for diff-files later, but this would suffice for now. We would like to make --cc the default for 'git diff'. Signed-off-by: Junio C Hamano <junkio@cox.net>
* diff-tree --always flagLinus Torvalds2006-02-051-0/+9
| | | | | | | | | | | | It _might_ make sense for certain users like gitk and gitview if we had a single tool that gives --pretty and its diff even if the diff is empty. Having said that, the flag --cc -m is too specific. If some uses want to see the commit log even for an empty diff, that flag should not be something only --cc honors. Here's an "--always" flag that does that. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Use adler32() from zlib instead of defining our own.Peter Eriksen2006-02-051-38/+1
| | | | | | | | Since we already depend on zlib, we don't need to define our own adler32(). Spotted by oprofile. Signed-off-by: Peter Eriksen <s022018@student.dtu.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix git-rev-parse over-eager errorsLinus Torvalds2006-02-051-5/+7
| | | | | | | | | | | Using "--verify" together with "--no-flags" makes perfect sense, but git-rev-parse would complain about it when it saw a flag, even though it would never actually use/output that flag. This fixes it. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Do not fall back on vi on dumb terminals.Junio C Hamano2006-02-041-0/+8
| | | | | | | | | When TERM is set to 'dumb', do not start vi to edit the commit log message. Suggested by Amos Waterland. Signed-off-by: Junio C Hamano <junkio@cox.net>
*---. Merge branches 'jc/sha1', 'jc/diff' and 'jc/ws'Junio C Hamano2006-02-033-38/+30
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/sha1: get_sha1_1: allow octopus^12 to be properly parsed. * jc/diff: combine-diff: finishing touches to git-diff-tree --cc * jc/ws: whitespace cleanup.
| | | * whitespace cleanup.Junio C Hamano2006-02-021-11/+10
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * | combine-diff: finishing touches to git-diff-tree --ccJunio C Hamano2006-02-021-4/+4
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates the output format to make administrative lines more consistent with the traditional diffs. The "index" line shows blob object names from each parents (separated by commas), double dots and the object name of the resulting blob. The hunk header line begins with N+1 '@' characters for N-way diff, the line number L of the first line in the hunk and line count C from the parent in "-L,C" format for each parents and then the line number of the first line in the hunk and line count from the resulting file in "+L,C" format, and finally N+1 '@' characters (earlier versions had the line numbers from the resulting file at the beginning). Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | get_sha1_1: allow octopus^12 to be properly parsed.Junio C Hamano2006-02-021-23/+16
| |/ | | | | | | | | | | | | | | | | | | | | | | We probably thought anybody who does more than 9 parents in an Octopus is insane when this was initially done, but there is no inherent reason to limit the number of independent topic branches that happen to mature at the same time. Our commit-tree allows up to 16 already, so at least we should prepare to handle what we can produce, if only to be consistent. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Use sha1_file.c's mkdir-like routine in apply.c.Jason Riedy2006-02-031-21/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As far as I can see, create_subdirectories() in apply.c just duplicates the functionality of safe_create_leading_directories() from sha1_file.c. The former has a warm, fuzzy const parameter, but that's not important. The potential problem with EEXIST and creating directories should never occur here, but will be removed by future safe_create_leading_directories() changes. Other uses of EEXIST in apply.c should be fine barring intentionally malicious behavior. Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | daemon: Provide missing argument for logerror() call.Mark Wooding2006-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | Could cause a crash if --base-path set. Unlikely to be a security the concern: message doesn't go to the client, so we can't leak anything (except by dumping core), and we've already forked, so it's not a denial of service. Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-merge: Properly quote $merge_msg variable.Junio C Hamano2006-02-031-1/+1
|/ | | | | | Otherwise it would go though shell expansion... Signed-off-by: Junio C Hamano <junkio@cox.net>
* combine-diff: cleanup.Junio C Hamano2006-02-021-37/+65
| | | | | | | | | | The flag on the surviving lines meant "this parent is not different" while the parent_map flag on the lost lines meant "this parent is different", which was confusing. So swap the meaning of on-bit in the flag. Also more heavily comment the code. Signed-off-by: Junio C Hamano <junkio@cox.net>
* combine-diff: show parent line numbers as well.Junio C Hamano2006-02-021-11/+59
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* combine-diff: add a bit more comments.Junio C Hamano2006-02-021-1/+7
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-send-email: Add --quiet to reduce some of the chatter when sending emails.Ryan Anderson2006-02-021-3/+6
| | | | | Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Provide a more meaningful initial "From " line when using --compose in ↵Ryan Anderson2006-02-021-1/+1
| | | | | | | | | | | | git-send-email. git-send-email, when used with --compose, provided the user with a mbox-format file to edit. Some users, however, were confused by the leading, blank, "From " line, so this change puts the value that will appear on the From: line of the actual email on this line, along with a note that the line is ignored. Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* commit.c: "Merge" fix in pretty_print_commit.Junio C Hamano2006-02-021-5/+5
| | | | | | | | Earlier, f2d4227530499db3e273ae84f30adfd4b70791c6 commit broke Merge: lines for unabbreviated case. Do not emit extra dots if we do not abbreviate. Signed-off-by: Junio C Hamano <junkio@cox.net>
* merge-recursive: Speed up commit graph constructionFredrik Kuivinen2006-02-021-1/+4
| | | | | | | | Use __slots__ to speed up construction and decrease memory consumption of the Commit objects. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* merge-recursive: Make use of provided basesFredrik Kuivinen2006-02-021-10/+21
| | | | | | | This makes some cases faster as we don't have to build the commit graph. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Documentation: git-diff-tree --cc also omits empty commitsJunio C Hamano2006-02-021-1/+1
| | | | | | | | | | | A misguided attempt to show logs at all time was inserted only to the documentation of this flag. Worse yet, it was not even implemented, causing more confusion. Drop it. We might want to have an option to show --pretty even when there is no diff output, but that is applicable to all forms of diff, not just --cc. Signed-off-by: Junio C Hamano <junkio@cox.net>
* combine-diff: fix placement of deletion.Junio C Hamano2006-02-021-1/+13
| | | | | | | | | The code misplaced a raw hunk that consists of solely deleted lines by one line. This showed e.g. Len's 12-way octopus (9fdb62af in the linux-2.6), kernel/power/disk.c, hunk starting at line 95, incorrectly. Signed-off-by: Junio C Hamano <junkio@cox.net>