summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make "read-tree" know how to do a "1-way merge".Linus Torvalds2005-04-191-5/+39
| | | | | This one just reads one tree, but picks up any matching stat information from the old index.
* Make "read-tree" take the 'stat' information for a merge result from theLinus Torvalds2005-04-191-2/+39
| | | | | | | old index state if the result matches. This leaves the stat information in the result tree for any trivial merges, which is just the way we like it.
* Make git-pull-script do the right thing for symlinked HEAD's.Linus Torvalds2005-04-191-1/+3
| | | | | Also exit gracefully if the HEAD pull failed, rather than use a possibly stale MERGE_HEAD.
* Don't parse commit objects more than once.Linus Torvalds2005-04-191-0/+4
| | | | | | Yes, the "parse_commit()" already checks for this condition, but we need to check for it in rev-tree too, so that we don't start walking the parent chain unnecessarily.
* [PATCH] SCSI trees, merges and git statusJames Bottomley2005-04-181-1/+10
| | | | | | | | | | Doing the latest SCSI merge exposed two bugs in your merge script: 1) It doesn't like a completely new directory (the misc tree contains a new drivers/scsi/lpfc) 2) the merge testing logic is wrong. You only want to exit 1 if the merge fails.
* [PATCH] provide better committer information to commit-tree.cGreg KH2005-04-181-5/+9
| | | | | | | | | | | | | | | | | | | Here's a small patch to commit-tree.c that does two things: - allows the committer email address and name to be overridden by environment variables (if you don't like the environment variable names I've used (COMMIT_AUTHOR_NAME, COMMIT_AUTHOR_EMAIL), feel free to change them.) - provide the proper domainname to the author/committer email address (otherwise, my address was only showing up as from the hostname.) This allows people to set sane values for the commit names and email addresses, preventing odd, private hostnames and domains from being exposed to the world. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Make fsck-cache print the object type for unreachable objects.Linus Torvalds2005-04-181-1/+1
| | | | This got lost when I updated to Daniel's new object model.
* [PATCH] show-diff: Remove stale commentsJunio C Hamano2005-04-181-3/+0
| | | | | | | | | Patch 1/6 in the series has already cleaned the interface to call sq_expand(), but the comment before that function still carries the stale interface warning. Remove it. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Do not let rsync obliterate .git/object symbolic link.Junio C Hamano2005-04-181-1/+1
| | | | | Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] show-diff.c: -R option for reverse diff.Junio C Hamano2005-04-181-7/+13
| | | | | | | | | | | | | | | | This adds -R option to obtain reverse diff. It may be useful in the merge workflow. After the base of the working directory is merged and commited, in the working directory: $ read-tree <tree-id-of-merged-tree> $ show-diff -R to re-validate if upstream changes make sense, and/or revert or conflict with local changes you have in the working files. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] show-diff.c: make diff options customizable.Junio C Hamano2005-04-181-4/+25
| | | | | | | | This makes the diff output formatting options customizable via the environment variables. The default is still the Linux kernel style. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] show-diff.c: adjust default format for the Linux kernel.Junio C Hamano2005-04-181-3/+4
| | | | | | | | This patch adjusts the default output format of show-diff to match the Linux kernel style, recommended in Documentation/SubmittingPatches. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] show-diff.c: simplify show_diff_empty.Junio C Hamano2005-04-181-34/+10
| | | | | | | | | | | This patch removes the custom diff generation code from the show_diff_empty() function. Instead, just use show_differences(). This reduces the code size; but more importantly, it is needed for the later patch to give diff options. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] show-diff.c: check unreadbale blob.Junio C Hamano2005-04-181-1/+10
| | | | | | | | This patch fixes show-diff to detect unreadable blob and warn instead of going ahead and crashing. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] show-diff.c: clean up private buffer use.Junio C Hamano2005-04-181-16/+6
| | | | | | | | | This patch fixes sq_expand() and show_differences() not to use and hold onto its privately allocated buffer, which was a misguided attempt to reduce calls to malloc but made later changes harder. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Add "update-cache --refresh" to git-pull-script to make sureLinus Torvalds2005-04-181-2/+2
| | | | | | out index is all ready to go after a pull. Noted by Russell King
* Change merge-cache and git-merge-one-file to use the SHA1 of the fileLinus Torvalds2005-04-182-46/+41
| | | | | | instead of a checked-out temporary copy. If merging requires a checked-out-copy, we now do so with "unpack-file".
* Add "unpack-file" helper that unpacks a sha1 blob into a tmpfile.Linus Torvalds2005-04-182-1/+39
|
* Add more header dependencies.Linus Torvalds2005-04-181-2/+24
| | | | | Yeah, my Makefiles are always a total disaster. Better this than autotools or some horror like that, though.
* Split up read-cache.c into more logical clumps.Linus Torvalds2005-04-184-271/+288
| | | | | | | Do the usage and error reporting in "usage.c", and the sha1 file accesses in "sha1_file.c". Small, nice, easily separated parts. Good.
* Clean up the Makefile a bit.Linus Torvalds2005-04-181-32/+39
| | | | | | | | | | This introduces the concept of git "library" objects that the real programs use, and makes it easier to add such things to a "libgit.a". This will also make it trivial to split the current "read-cache.o" into more aptly named pieces (it does a lot more than just read the index file).
* Add the simple scripts I used to do a merge with content conflicts.Linus Torvalds2005-04-183-0/+83
| | | | | | | | | | | | | | | | | | | | | They sure as hell aren't perfect, but they allow you to do: ./git-pull-script {other-git-directory} to do the initial merge, and if that had content clashes, you do merge-cache ./git-merge-one-file-script -a which tries to auto-merge. When/if the auto-merge fails, it will leave the last file in your working directory, and you can edit it and then when you're happy you can do "update-cache filename" on it. Re-do the merge-cache thing until there are no files left to be merged, and now you can write the tree and commit: write-tree commit-tree .... -p $(cat .git/HEAD) -p $(cat .git/MERGE_HEAD) and you're done.
* Merge the new object model thing from Daniel BarkalowLinus Torvalds2005-04-1812-160/+512
|\ | | | | | | | | | | | | This was a real git merge with conflicts. I'll commit the scripts I used to do the merge next. Not pretty, but it's half-way functional.
| * [PATCH] Switch implementations of merge-base, port to parsingDaniel Barkalow2005-04-182-44/+82
| | | | | | | | | | | | | | | | This switches to my implementation of merge-base, but with the new parsing library. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] Port fsck-cache to use parsing functionsDaniel Barkalow2005-04-182-72/+38
| | | | | | | | | | | | | | | | | | This ports fsck-cache to use parsing functions. Note that performance could be improved here by only reading each object once, but this requires somewhat more complicated flow control. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] Port rev-tree to parsing functionsDaniel Barkalow2005-04-182-48/+38
| | | | | | | | | | | | | | | | This ports rev-tree to use the parsing functions introduced in the previous patches. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] Implementations of parsing functionsDaniel Barkalow2005-04-184-0/+272
| | | | | | | | | | | | | | This implements the parsing functions. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] Header files for object parsingDaniel Barkalow2005-04-184-0/+87
| | | | | | | | | | | | | | This adds the structs and function declarations for parsing git objects. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] fix bug in read-cache.c which loses files when merging a treeJames Bottomley2005-04-181-1/+0
| | | | | | | | | | | | | | | | | | I noticed this when I tried a non-trivial scsi merge and checked the results against BK. The problem is that remove_entry_at() actually decrements active_nr, so decrementing it in add_cache_entry() before calling remove_entry_at() is a double decrement (hence we lose cache entries at the end).
* | [PATCH] Fix confusing behaviour of update-cache --refresh on unmerged paths.Junio C Hamano2005-04-181-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | The "update-cache --refresh" command attempts refresh_entry() on unmerged path, which results in as many "needs update" messages as there are unmerged stages for that path. This does not do any harm to the working directory, but it is confusing. Here is a fix. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Update README to reflect the hierarchical tree objects,Linus Torvalds2005-04-171-109/+401
| | | | | | | | | | | | | | and other newfangled things like merging. Also, talk more about the actual operations, and give some rough examples of what you can do.
* | [PATCH] (resend) show-diff.c off-by-one fixJunio C Hamano2005-04-171-2/+2
| | | | | | | | | | | | | | | | The patch to introduce shell safety to show-diff has an off-by-one error. Here is an fix. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Ass a "merge-cache" helper program to execute a merge onLinus Torvalds2005-04-172-1/+131
| | | | | | | | | | | | | | any unmerged files. This one doesn't actually do the merging, but it makes it easy to script the programs that do using it.
* | [PATCH] fork optional branch point normazilationBrad Roberts2005-04-171-3/+3
| | | | | | | | | | | | | | | | | | Fix remove_specials for real. The second half logic needs the original head of the string. Signed-off-by: Brad Roberts <braddr@puremagic.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Ignore any unmerged entries for "checkout-cache -a".Linus Torvalds2005-04-171-0/+2
| | | | | | | | They don't "exist" yet, and you need to merge them first.
* | Remove extraneous ',' ';' and '.' characters from the full name gecos field.Linus Torvalds2005-04-171-0/+15
| | | | | | | | Apparently some distributions tend to have space for phone numbers etc there.
* | Make the revision tracking track the object types too.Linus Torvalds2005-04-173-23/+29
| | | | | | | | | | This allows fsck to verify not just that an object exists, but also that it has the type it was expected to have.
* | Make "commit-tree" check the input objects more carefully.Linus Torvalds2005-04-171-0/+14
| | | | | | | | | | Let's not allow trivially bogus commits. I did one for the first trial of the first kernel git merge. fsck found it ok, but..
* | Make "parse_commit" return the "struct revision" for the commit.Linus Torvalds2005-04-172-7/+4
|/ | | | | | | | Also, make it a fatal error to pass in a non-commit object. The callers never checked, so better check here. This simplifies merge-base further. It's now so trivial that it's almost ridiculous.
* Do a very simple "merge-base" that finds the most recent commonLinus Torvalds2005-04-172-1/+61
| | | | | | | | parent of two commits. The question of "best" commit can probably be tweaked almost arbitrarily. In particular, trying to take things like how big the tree differences are into account migt be a good idea. This one is just very simple.
* Make "rev-tree.c" use the new-and-improved "mark_reachable()"Linus Torvalds2005-04-171-16/+1
| | | | | It used to have its own specialized version for marking the sub-reachability bits.
* Make "revision.h" slightly better to use.Linus Torvalds2005-04-172-7/+11
| | | | | | | - mark_reachable() can be more generic, marking the reachable revisions with an arbitrary mask. - date parsing will parse to a date of 0 rather than ULONG_MAX for the bad old case, sorting the dates correctly.
* Move "parse_commit()" into common revision.h file.Linus Torvalds2005-04-172-79/+40
| | | | | | | | This also drops the old-style date parsing. We just don't care enough, since we dropped that format pretty early. Yes, this could do with some cleanup, and a common library file. Some day.
* [PATCH] fix for memory leak in write-tree.cBrad Roberts2005-04-171-4/+2
| | | | | Fix a memory leak in write-tree.c, not freeing the directory buffer.
* [PATCH] Fix +x-related show-diff false positivesPetr Baudis2005-04-171-1/+1
| | | | | | | | | | | | This fixes show-diff listing all +x files as differring. Signed-off-by: Petr Baudis <pasky@ucw.cz> [ That's what I get for working on a G5 - my testing was all big-endian in the first place. -- Linus ] Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Remove unused arguments from index_fd()Junio C Hamano2005-04-171-9/+6
| | | | | | | | | | | | | The function index_fd() in update-cache.c takes 5 arguments, but two is not necessary and one that is a pointer to a structure really needs to be a pointer to one member of that structure. This patch cleans it up. Also it removes printf() apparently left after initial debugging. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Better error message from checkout-cache for unmerged files.Junio C Hamano2005-04-171-2/+9
| | | | | | | | | | The checkout-cache command says "file is not in the cache" when an unmerged path is given. This patch adds code to distinguish the unmerged and the nonexistent cases and gives an appropriate error message. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Fix total permission bogosity in "checkout-cache.c".Linus Torvalds2005-04-171-3/+1
| | | | | | | | Use the proper octal mode naming instead of random decimal crud, and don't reset the mode after the create with fchmod: the whole point was to let "umask" do its thing. Duh.
* [PATCH] update-cache --remove marks the path merged.Junio C Hamano2005-04-171-1/+3
| | | | | | | | | | | | | When update-cache --remove is run, resolve unmerged state for the path. This is consistent with the update-cache --add behaviour. Essentially, the user is telling us how he wants to resolve the merge by running update-cache. Signed-off-by: Junio C Hamano <junkio@cox.net> Fixed to do the right thing at the end. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] show-diff.c: do not include unused header fileJunio C Hamano2005-04-171-1/+0
| | | | | | | | This is my bad. I added #include <ctype.h> to the file, which I ended up not using and failed to remove it. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>